美文网首页
Bash特殊符号

Bash特殊符号

作者: Zhang21 | 来源:发表于2017-11-02 11:58 被阅读95次

    在编写shellscripts的时候,特殊符号也有其重要的功能。
    具体描述如下:

    符号 描述 栗子
    #! shellban,申明脚本所使用的shell #!/bin/bash
    \ 转义字符 \ 回车
    l 管道 stdout l grep
    >,>> 输出重定向 >1.txt
    <,<< 输入重定向 <1.txt
    2> 错误输出 2>error.txt
    ; 连续命令分隔符 cmd1; cmd2
    && 与,只有当前命令完成后才执行后一个命令 cmd1 && cmd2
    ll 或,或此或彼 cmd1 ll cmd2
    ~ 用户家目录 cd ~
    # 注释符 #it's a comments
    $ 取用变量前导符 $PATH或${PATH}
    & 工作控制,将命令放入后台(bg) command&
    *,?,[],[-],[^] 通配符 .sh,?.sh,[a-z].txt
    ! 逻辑运算'非'not !=
    =,两边无空格 赋值符号 name=zhang
    =,两边有空格 比较符号 if [ $name = zhang ]
    $0, 代表脚本自身 zhang.sh
    $1,$2... 第1个/2个...变量 ./zhang.sh start...
    $# 命令后面参数个数 if [ $# -ne 2 ];then echo "Usage: ./xx.sh arg1 arg2"
    $@ 代表"$1","$2","$3"...之意,每个变量是独立的 xx
    $* 代"$1 $2 $3 ..."之意
    '单引号' 单引号内特殊字符仅为一般字符 echo '$host'--$host
    "双引号" 双引号内特殊符号,可保有原本特性 echo "$host" --localhost
    反引号 运行命令,也可用 $()代替 date或 $(date)
    () 以子shell方式执行 ($(date))
    {} 命令区块的组合
    set 查看所有变量 set
    unset 取消变量 unset name,没有$符号
    export 使某变量成为环境变量 export name,没有$符号
    PS1 命令提示符 $PS1
    PS2 第二行以后的提示字符 $PS2
    $? 命令状态码,成功为0 $?
    $$ 当前shell的PID echo $$
    shift 移动参数 当使用shift后,$1=$2;再次shift后,$1=$3...

    相关文章

      网友评论

          本文标题:Bash特殊符号

          本文链接:https://www.haomeiwen.com/subject/etjopxtx.html