linux-shell-命令替换和变量替换


本文摘自PHP中文网,作者步履不停,侵删。

命令替换$() ``

1

Shell 命令替换是指将命令的输出结果赋值给某个变量

Shell 中有两种方式可以完成命令替换,一种是反引号 ,一种是$(),使用方法如下:

1

2

variable=`commands`

variable=$(commands)

其中,variable 是变量名,commands 是要执行的命令。commands 可以只有一个命令,也可以有多个命令,多个命令之间以分号;分隔。

1

2

a=`expr 1 + 1`

echo $a

$( )与``区别

1

2

3

4

5

在操作上,这两者都是达到相应的效果,但是建议使用$( ),理由如下:

 

1.``很容易''搞混乱,尤其对初学者来说。

2.在多层次的复合替换中,``必须要额外的转义字符处理(反斜线),而$( )比较直观。

3.$( )的弊端是,并不是所有的类unix系统都支持这种方式,但反引号是肯定支持的。

变量替换 ${}

1

2

3

4

5

6

7

8

9

10

11

12

变量替换

变量替换可以根据变量的状态(是否为空、是否定义等)来改变它的值

 

可以使用的变量替换形式:

 

形式    说明

${var}    变量本来的值

${var:-word}    如果变量 var 为空或已被删除(unset),那么返回 word,但不改变 var 的值。

${var:=word}    如果变量 var 为空或已被删除(unset),那么返回 word,并将 var 的值设置为 word。

${var:?message}    如果变量 var 为空或已被删除(unset),那么将消息 message 送到标准错误输出,可以用来检测变量 var 是否可以被正常赋值。

若此替换出现在Shell脚本中,那么脚本将停止运行。

${var:+word}    如果变量 var 被定义,那么返回 word,但不改变 var 的值。

更多Linux相关技术文章,请访问Linux教程栏目进行学习!

以上就是linux-shell-命令替换和变量替换的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

Linux系统怎么安装网卡驱动

Linux根据文件大小查找文件实例详解

如何处理访问ecs服务器的网站提示

如何在创建实例时附加弹性网卡

Linux和unix的区别是什么?

详解Linux利用read命令获取变量中的值的操作方法

Linux was无法启动怎么办

Linux判断是否是目录的方法

.Linux中什么意思

查看Linux是centos还是ubuntu的方法

更多相关阅读请进入《Linux》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...