shell基础(一):展开

路径名展开
    ls
    echo *
    echo doc*
    echo /usr/*/share
波浪线展开
    echo ~ 展开用户家目录
算术表达式展开
    $((expression))
    echo $((1*2)) $((2**5)*6)
花括号展开:多用于批量创建文件
    echo {A,B,C}  =>  A B C
    echo {A..Z}   =>  A B C ...Z
    echo {0..9}   =>  0 1 2 ...9
    echo a{A{1,2},B{3,4}}b   => aA1b aA2b aB3b aB4B
    mkdir {2007..2009}-0{1..9} {2007..2009}-1{0..2}  =>2007-01 2007-02 ...2009-12
参数展开
    echo $USER $HOSTNAME
    printenv // 打印所有环境变量
命令替换:可以把一个命令的输出当做展开模式来使用
    echo $(ls)

    duoyi@yang:~$ ls -l $(which cp)
    -rwxr-xr-x 1 root root 151024 3月   3  2017 /bin/cp
引用:双引号:双引号内除了$ ,(反斜杠),’(倒引号)三个特殊字符,其他shell特殊字符均失效。即单词分割,路径名展开,波浪线展开,花括号展开都被禁止。但参数展开,算数展开,命令替换依然有效。
    ls -l "test 123.txt" //显示空格文件
    echo "$USER" "$((1+1))" "$(pwd)" => yang 2 /home/duoyi
    echo "{A..Z} * ~"  => {A..Z} * ~
引用:单引号:禁用所有展开
    echo '$USER'  => $USER

猜你喜欢

转载自blog.csdn.net/YL_max/article/details/81569569
今日推荐