shell中引用

引用:
关闭对特殊字符含义的解析处理被称为引用,实现方法有三种:
1. 使用反斜线(\) 转义,单独的反斜线通常用于实现其后字符的引用,当反斜线置于一个普通的字符前,如n和t,所得到的字符串称为转义序列,\n和\t实现换行和tab格式
echo \abs\3输出abs3,普通字符转义当作本意处理

2. 使用单引号('),单引号引起来的所有特殊字符都将失去它们的特殊含义,当作本意来处理
如:echo '<234$*s|n-' 会输出原样
通配符必须使用单引号,双引号或反斜线进行引用处理
如:
grep '[0-9][0-9]*$' test.txt

3. 使用双引号("),双引号禁止了除了$和反引号`以外的所有元字符,所以,双引号引起来的字符串中,$和反引号都将起作用,其他元字符都不会起作用,如:
echo "this is $USER and the date is (`date +%m/%d`) ]"
this is username and the date is (03/10)
即其允许了变量域和命令域的执行,原样显示了其他元字符。
双引号中的反斜线只在下面4个符号之前起作用:$, 反引号`,", \

shell中命令行参数中的一个或多个空格或tab只能算一个
echo hello      world输出hello world
shell中只是简单的以一个空格为间隔来读取参数


例子:
echo hello; world 出现错误,提示world:command not find 分号;告诉shell,已经到了一个命令的最后
echo hello\; world

rm ch* 将删除所有以ch开头的文件
rm ch\*或rm 'ch*'或rm "ch*"可以实现删除名为ch*的文件

echo "ab\nab" 输出ab\nab
printf "ab\nab" 输出:
ab
ab
交给printf的\n使得输出换行,printf命令允许它自己的一些由反斜线定义的特殊字符

注意echo -e时不论是单引号还是双引号中都会解释\n等转义字符
 echo -e "\n"和echo -e '\n'输出换行



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值