如何使用“echo”打印命令的结果?

How do I print the result of a command with 'echo'?

提问人:DiogoSaraiva 提问时间:4/25/2015 最后编辑:Peter MortensenDiogoSaraiva 更新时间:4/17/2019 访问量:103531

问:

如何打印我的全名?

awk -F: '($1==U){print $5}' U=$LOGNAME /etc/passwd

每个示例,但使用带有一些单词的命令:echo

例如

你好迪奥戈·萨拉伊瓦,很高兴再次见到你

其中 Diogo Saraiva 是我在 Ubuntu 记录中的全名。 我尝试了一些东西,但我还没有完成那个剧本......

另一件事:为什么,当我发出 时,显示的是 而不是?awk -F: '($1==U){print $5}' U=$LOGNAME /etc/passwdDiogo Saraiva,,,Diogo Saraiva

这种情况也发生在以下情况下:

grep $USER /etc/passwd | awk 'BEGIN { FS=":" } { print $5 }'

我需要我的脚本使用命令声明一个变量“like”,然后在我的脚本中多次回显该变量“like”。

Bash 回声

评论


答:

32赞 Etan Reisner 4/25/2015 #1

若要输出所需的字符串,可以使用此命令。

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/passwdDiogo Saraiva,,,/etc/passwd

要将命令的输出保存在变量中,只需使用:

var=$(command)

请记住在使用变量时引用该变量:

echo "Hello $var, happy to see you again"

评论

17赞 Alex Punnen 6/24/2021
回声 $(ls /home/xx)