如何使用以下内容打印我的全名?
awk -F: '($1==U){print $5}' U=$LOGNAME /etc/passwd
每个例子,但echo
命令边上有一些单词:
例如,
Hello Diogo Saraiva,很高兴再次见到你
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”,然后在我的脚本中不同时间回显该变量。
答案 0 :(得分:12)
要输出所需的字符串,可以使用此命令。
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"