bash 符号篇

来源:互联网 发布:淘宝账户更改手机号码 编辑:程序博客网 时间:2024/05/16 17:48
1.注释符号“#”

“#”用于注释
“#!”用于说明用什么脚本解释器(bash、zsh等等)

2.命令分隔符“;”

例子:

#!/bin/bashecho hello; echo therefilename=ttt.shif [ -r "$filename" ]; then    # 注意: "if"和"then"需要分隔     echo "File $filename exists."; cp $filename $filename.bak else     echo "File $filename not found."; touch $filename fi; echo "File test complete."

3.终止case符号(”;;”)

4.点号”.”相当于source命令

5.引号

双引号(”):”STRING” 阻止(解释)STRING中大部分特殊的字符

单引号(‘):’STRING’ 将会阻止STRING中所有特殊字符的解释

5.斜线和反斜线

“\”:转义字符,例如:”\n”
“/”:路径分隔符,例如:/home/shiyanlou/Code/

6.反引号(`)

$ cp `mkdir back` test.sh back #反引号中的命令会先执行

7.冒号(:)

1.空命令 “NOP”
2.“:”命令是一个bash的内建命令,它的退出码(exit status)是(0)
作用:

one:作为占位符    if [ $condition -gt 0 ]    then :   # 什么都不做,退出分支two:变量扩展/子串替换     $ : > test.sh   # 文件“test.sh”现在被清空了     # 与 cat /dev/null > test.sh 的作用相同    与">>"连用对被操作文件无影响    与">"连用对被操作文件进行清空操作

8.小括号“( )”

作用:one:命令组    申请一个局部执行命令的shell单独运行two:初始化数组变量    例子:arr=(1 2 3 4 5)\

9.大括号“{}”

    作用:    one:文件名扩展        保存多个扩展名,例如:cp t.{txt,back}    two:创建匿名函数        #!/bin/bash         a=123        { a=321; }        echo "a = $a"        $bash test #输出321

10.中括号 “[]”

    作用:    one:条件测试表达式        if [5 -lt 10]        then            echo "a = $a"        else            echo "a > 10"        fi    two:数组元素        #!/bin/bash        arr=(12 22 32)        arr[0]=10        echo ${arr[0]}        #输出arr这个数组的第一个元素;

11.破折号“-”

    作用:    one:选项,前缀        [a -eq b]    two:用于重定向stdin或stdout        例子:备份24小时之内被修改过的文件    #!/bin/bash    BACKUPFILE=backup-$(date +%m-%d-%Y)    # 在备份文件中嵌入时间.    archive=${1:-$BACKUPFILE}    #  如果在命令行中没有指定备份文件的文件名,    #+ 那么将默认使用"backup-MM-DD-YYYY.tar.gz".    tar cvf - `find . -mtime -1 -type f -print` > $archive.tar    gzip $archive.tar    echo "Directory $PWD backed up in archive file \"$archive.tar.gz\"."    exit 0
0 0
原创粉丝点击