命令替换

时间:2019-04-16 23:59:05  来源:igfitidea点击:

命令替换即运行shell命令并将其输出存储到一个变量或者直接使用echo命令直接显示。

例如,显示日期和时间:

echo "Today is $(date)"

显示主机名

echo "host name is $(hostname)"

语法

可以使用重音符号( `)来进行命令替换。

`command-name`

或者使用:

$(command-name)

echo命令中的命令替换

echo "Text $(command-name)"
 echo -e "登录用户列表和他们正在做什么:\n $(w)"

命令替换和shell变量

还可以将命令输出存储到shell变量中:

var=$(command-name)

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

NOW=$(date)
echo "$NOW"

将系统的主机名存储到SERVERNAME变量中:

SERVERNAME=$(hostname)
echo "Running command @ $SERVERNAME...."

命令替换和shell循环

Shell循环可以使用命令置换来获取输入:

for f in $(ls /etc/*.conf)
do
   echo "$f"
done

选择文件推荐使用这种语法,就不需要ls了:

for f in /etc/*.conf
do
   echo "$f"
done