shell学习笔记--持续记录

1.#!/bin/sh 使用sh程序来执行下边的代码

  #!/bin/more 输出下边的代码

  #!/bin/可执行程序 下边的代码将会作为此程序的输入

2. * 可以用来匹配文件名,正则匹配,作为乘法。**还可以作为幂运算

3.(( 代码)) 即可以做数学运算,也可以在里面添加c代码

4.$可以是代表一个已经定义的变量,可以作为正则匹配的行结束符,$$代表当前shell脚本的进程ID

5.( 代码 ) 用来创建一个子shell执行包含的代码,还可以用于数组初始化

6.{ } 有点像分配律的样子,看例子:

  cat {file1,file2,file3} > combined_file  # 把file1,file2,file3 连接在一起,并且重定向到combined_file 中

  cp file22.{txt,backup} # 拷贝"file22.txt" 到"file22.backup"中

7.[[ ]] 双中括号

    ①[[是 bash 程序语言的关键字。并不是一个命令,[[ ]] 结构比[ ]结构更加通用。在[[和]]之间所有的字符都不会发生文件名扩展或者单词分割,但是会发生参数扩展和命令替换。
    ②支持字符串的模式匹配,使用=~操作符时甚至支持shell的正则表达式。字符串比较时可以把右边的作为一个模式,而不仅仅是一个字符串,比如[[ hello == hell? ]],结果为真。[[ ]]          中匹配字符串或通配符,不需要引号。
    ③使用[[ ... ]]条件判断结构,而不是[ ... ],能够防止脚本中的许多逻辑错误。比如,&&、||、<和> 操作符能够正常存在于[[ ]]条件判断结构中,但是如果出现在[ ]结构中的话,会报            错。
    ④bash把双中括号中的表达式看作一个单独的元素,并返回一个退出状态码。

8.---看到31页

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。