shell 引用

http://fightfxj.blog.163.com/blog/static/67683924200921111260641/


1,单引号
shell会保留单引号中任何特殊字符,即使是回车键,也会保留,不会解释$
例如:
$file=/root/more/file
$echo $file
/root/more/file
$echo '$file'
$file

如果变量有单引号中的*,会解释单引号中的*,用当前目录下的所有文件替换*
例如:
$text='* is all files'
$echo $text
会显示所有文件 is all files

2,双引号
$x=*
$echo $x
所有文件  #解释为特殊意义的字符*
$echo '$x'
$x    #保持单引号中的内容不变
$echo "$x"
*     #用变量的值替换变量的名称
上例可以看出无引号、单引号、双引号的区别。
双引号中不做文件名替换,如果想替换变量的值,又不希望shell把替换的内容作为特殊字符对待,就要用双引号。

3,反斜杠
反斜杠等价于在一个字符前后加上单引号,就是所谓的转义
$x=*
$echo \$x
$x
上例中,shell忽略反斜杠后的$,结果不作变量替换

用反斜杠续行:shell把行尾的反斜杠作为续行

双引号中的反斜杠:可以在双引号中用反斜杠去掉字符的特殊意义

4,$(...)结构
$(command)
命令替换结构,会将命令执行的结果替换这个结构

5,expr命令
expr可以识别+,-,/, *, %运算
对于*,需要用反斜杠,或者双引号,避免shell当做目录中的所有文件
例如:
$expr "17 * 6"

$i=1
$i=$(expr $i + 1)   # 给i加1
$echo $i
2

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值