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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章