linux 特殊字符用法

单小括号(执行命令)

echo $(ls -al) #类似echo `ls -al`
b=(1 2 3 4)#数组使用 echo ${b[@]} 打印所有数组 echo ${b[0]}打印第一个数组 打印数组长度echo ${#b[*]}

双小括号(计算使用)

echo $((1+3))# 类似let b=4+2 注意等号之间没有空格
c=$(echo "1+2.5"|bc) #如果有小数点参与计算必须使用bc计算器 类似c=`echo "1+2.5"|bc`


单中括号

1)bash 的内部命令,[和test是等同的。if/test结构中的左中括号是调用test的命令标识,右中括号是关闭条件判断的。这个命令把它的参数作为比较表达式或者作为文件测试,并且根据比较的结果来返回一个退出状态码。
2)在进行比较运算时使用。test和[]中可用的比较运算符只有==和!=,两者都是用于字符串比较的,不可用于整数比较;整数比较只能使用-eq,-gt这种形式。无论是字符串比较还是整数比较都不支持大于号小于号。如果实在想用,对于字符串比较可以使用转义形式,如果比较”ab”和”bc”:[ ab \< bc ],结果为真,也就是返回状态为0。[ ]中的逻辑与和逻辑或使用-a 和-o 表示。

a=3;b=4
[ $a eq $b ] # false (整数比较)
[ "$a" eq "$b" ] #false (整数比较)
[ a==b ] #true (字符串比较)

双中括号

①[[是 bash 程序语言的关键字。并不是一个命令,[[ ]] 结构比[ ]结构更加通用。在[[和]]之间所有的字符都不会发生文件名扩展或者单词分割,但是会发生参数扩展和命令替换。

②支持字符串的模式匹配,使用=~操作符时甚至支持shell的正则表达式。字符串比较时可以把右边的作为一个模式,而不仅仅是一个字符串,比如[[ hello == hell? ]],结果为真。[[ ]] 中匹配字符串或通配符,不需要引号。

③使用[[ ... ]]条件判断结构,而不是[ ... ],能够防止脚本中的许多逻辑错误。比如,&&、||、<和> 操作符能够正常存在于[[ ]]条件判断结构中,但是如果出现在[ ]结构中的话,会报错。

④bash把双中括号中的表达式看作一个单独的元素,并返回一个退出状态码。

大括号(多用来输出变量)

a=3
echo ${a} # 打印变量
touch {a,b,c,d,e,f}.sh #用大括号进行拓展:此时可以使用大括号对文件进行批量操作
touch {a..f}.sh #第二种:对大括号中以点点(..)分割的顺序文件列表起拓展作用
{ cmd1;cmd2;cmd3;}  #多命令集合最后一个必须要有分号
${a/a/b}#字符串替换

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值