shell

Shell替换,它一般是在输入一个包含通配符或$参数的命令时自动发生。

变量替换使得shell程序员可以基于变量的状态来操纵变量的值,变量替换有两类:

变量有值时发生动作

变量均值时发生动作

${parameter:-word} 若parameter为空或未设置,则用word代替parameter进行替换,parameter的值不变

${parameter:=word} 若parameter为空或未设置,则parameter设为值word

${parameter:?message} 若parameter为空或未设置,则message作为标准错误打印出来,这可用来检查变量是否正确设置

${parameter:+word} 若parameter设置了,则用word代替parameter进行替换,parameter的值不变

替换缺省值

abc=${para:-localhost}#没有定义para这个变量

echo $abc

localhost

echo $para#什么都没有

赋予一个缺省值

abc=${para:=localhost}#没有定义para这个变量

echo $abc

localhost

echo $para

localhost

命令替换

使得可以捕获一个命令的输出而在另一命令中替换它,

DATE=`date`#这里是后引号

grep `id -un` /etc/passwd

算术替换

使得可以使用shell执行一些简单的整数计算

abc=$((expression))#expression中只能有加减乘除和括号

abc=$((5+3))

引用

Shell对这些字符以及其他特殊字符的解释方式通常是很有用的,但有时关掉Shell替换让每个字符代表自己的意思也很有必要。关掉一个字符的特殊意义称为引用

通常可以用以下三种方式进行

使用反斜线字符(\)

使用单引号(')

使用双引号(")

如果要直接输出以上字符,可以用反斜线或直接把它在单引号或双引号中。

如echo hello world是可以的

但是echo hello;world就不行了

;告诉shell已经到达一个命令的尾部,并且后面将是一条新命令。

解决这个问题可以这么做

echo hello\; world

流控制

在脚本中有两种强大的流控制机制可以利用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值