在Linux/Unix中如何将grep的值赋值给shell变量

时间:2019-11-20 08:53:40  来源:igfitidea点击:

在Linux shell中,如何将grep命令的输出存储在shell变量中?
在Linux或Unix中如何将某个命令的输出存储到变量中?

语法:命令替换

默认情况下,会在屏幕上显示命令的输出。
命令替换表爱上运行shell命令并将其输出存储到变量或者使用echo打印显示。

语法为:

VAR=`command-name`
VAR="`grep word /path/to/file`"

或者
 
VAR=$(command-name)
VAR="$(grep word /path/to/file)"

例子

使用echo命令显示日期和时间:

echo "Today is $(date)"

或者

echo "Today is `date`"

在shell中保存命令输出到变量中

您可以使用以下语法将命令输出存储到shell变量:

将当前日期和时间存储到变量Todays中:

todays=$(date)

查看$todays的值:

echo "$todays"

使用grep命令用户Hyman并将输出存储到名为myuser的变量中:

myuser="$(grep '^Hyman' /etc/passwd)"
echo "$myuser"

使用tee命令,可以在显示输出的同时,将内容存储在变量中:

foo="$(grep '^Hyman' /etc/passwd | tee /dev/tty) "
echo "$foo"