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

时间:2015-04-24 18:32:11

标签: bash echo

如何使用以下内容打印我的全名?

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”,然后在我的脚本中不同时间回显该变量。

1 个答案:

答案 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"
相关问题