版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_29603999/article/details/78245736
将命令输出结果保存到变量中
文章引用:http://blog.csdn.net/csfreebird/article/details/7978699#reply
1.两种实现语法
var=$(命令)
var=`命令` # 注意此处不是普通的单引号
2.说明
a. 这两种语法均可实现将命令执行结果保存到var变量中,但是特殊情况下两种方式无法得到正确结果
b.如果命令执行过程中发生错误,则输出的错误信息不会保存到var变量中
以上说明均会在下面进行实例测试
3.测试
正常情况——两种语法均可行
命令执行错误时var无法保存错误信息
特殊命令下无法正确执行
这种情况下可尝试直接使用var=’命令’将命令作为字符串保存到变量中,这样当引用变量时即执行该命令,自然也在使用处可直接使用到命令返回值,缺点在于多次使用变量命令则多次执行。
使用例子如下所示:
#!/bin/bash
n1=
n2=
rd='read n1 n2'
while $rd
do
echo "rd=$rd"
echo "n1=$n1, n2=$n2 \c"
echo "n1+n2=$((n1+n2))"
rd='read n1 n2'
done