Unix Shell编程——将命令输出结果保存到变量中

版权声明:本文为博主原创文章,未经博主允许不得转载。 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

这里写图片描述

猜你喜欢

转载自blog.csdn.net/qq_29603999/article/details/78245736