如何使用以下内容打印我的全名?
awk -F: '($1==U){print $5}' U=$LOGNAME /etc/passwd
每个示例,但带有 echo
命令,侧面带有一些单词:
例如
你好迪奥戈·萨拉瓦,很高兴再次见到你
其中Diogo Saraiva是我在Ubuntu记录中的全名。我尝试了一些东西,但我还没有完成那个脚本......
另一件事:为什么当我发出awk -F: '($1==U){print $5}' U=$LOGNAME /etc/passwd
时,显示Diogo Saraiva,,,
而不是Diogo Saraiva
?
这种情况也发生在:
grep $USER /etc/passwd | awk 'BEGIN { FS=":" } { print $5 }'
我需要我的脚本使用命令声明一个变量"like",然后沿着我的脚本多次回显该变量"like"。
要输出所需的字符串,可以使用此命令。
awk -F: -v U="$LOGNAME" '$1==U{print "Hello " $5 ", happy to see you again"}' /etc/passwd
如果awk -F: -v U="$LOGNAME" '$1==U{print $5}' /etc/passwd
输出Diogo Saraiva,,,
那么这就是该字段的/etc/passwd
文件中的内容。
要将命令的输出保存在变量中,只需使用:
var=$(command)
并且记得在使用变量时引用它:
echo "Hello $var, happy to see you again"