扩展

路径名扩展

使用通配符来查找路径名

  • ls * 当前路径下的所有文件
  • ls -d .[!.]?* 当前路径下的所有隐藏文件,不包含...

波浪线扩展

回归家目录

  • cd ~ 回归当前用户家目录,波浪线可以省略;
  • cd ~dcmse 回到用户dcmse的家目录

花括号扩展

before{a,b,c}after

  • touch a{1,2,3}b 以“,”分隔,创建3个文件
  • touch a{5..7}b 连续的数字或字母

算术扩展

可以进行+,-,*,/,%,**,可叠加

  • $(()) 表示算术表达式

命令替换

使一个命令的输出作为参数扩展

  • $() 表示命令替换,注重输出结果
[dps@ccod131 test]$ echo $(ls)
a1b a2b a3b a5b a6b a7b
[dps@ccod131 test]$ echo $(ll)
总用量 0 -rw-rw-r-- 1 dps dps 0 11月 22 22:27 a1b -rw-rw-r-- 1 dps dps 0 11月 22 22:27 a2b -rw-rw-r-- 1 dps dps 0 11月 22 22:27 a3b -rw-rw-r-- 1 dps dps 0 11月 22 22:28 a5b -rw-rw-r-- 1 dps dps 0 11月 22 22:28 a6b -rw-rw-r-- 1 dps dps 0 11月 22 22:28 a7b
  • 将ls或ll的输出作为echo的参数
  • “``” 反引号也表示命令替换
[dps@ccod131 test]$ echo `ls`
a1b a2b a3b a5b a6b a7b

双引号

双引号可以将参数内容引起来,在双引号中

  • 单词分割,路径名扩展,波浪线扩展失去作用
  • 算术扩展,命令替换,还有参数扩展还有效果
  • 可用于查看或修改带有空格等的参数
  • 将一句话中带有空格的几个参数合并为一个参数
#单词分割不起作用,三个参数变为1个。不会处理中间多余的空格
[dps@ccod131 bak]$ echo a b c
a b c
[dps@ccod131 bak]$ echo "a  b         c"
a  b         c
# 参数扩展还有效
[dps@ccod131 bak]$ echo "$USER"
dps
[dps@ccod131 bak]$ echo "$((1+1))"
2

单引号

单引号中,所有的扩展都会失效。限制级别最高

[dps@ccod131 bak]$ echo '$USER,*,~,$((1+2)),${a,b}c,$(ls)'
$USER,*,~,$((1+2)),${a,b}c,$(ls)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值