shell脚本将命令的结果赋值给变量的2种写法
Shell 也支持将命令的执行结果赋值给变量,常见的有以下两种方式:
variable=`command`
variable=$(command)
第一种方式把命令用反引号` `
(位于 Esc 键的下方)包围起来,反引号和单引号非常相似,容易产生混淆,所以不推荐使用这种方式;第二种方式把命令用$()
包围起来,区分更加明显,所以推荐使用这种方式。
例如,我在 demo 目录中创建了一个名为 log.txt 的文本文件,用来记录我的日常工作。下面的代码中,使用 cat 命令将 log.txt 的内容读取出来,并赋值给一个变量,然后使用 echo 命令输出。
[mozhiyan@localhost ~]$ cd demo [mozhiyan@localhost demo]$ log=$(cat log.txt) [mozhiyan@localhost demo]$ echo $log 严长生正在编写Shell教程,教程地址:http://c.biancheng.net/shell/ [mozhiyan@localhost demo]$ log=`cat log.txt` [mozhiyan@localhost demo]$ echo $log 严长生正在编写Shell教程,教程地址:http://c.biancheng.net/shell/