天天看點

bash程式設計文法自我總結

腳本2種執行方式:

1 直接執行,等于bash衍生一個子程式,當該子程式完成後,子程式内各項變量活動作不會傳回父程式

2 利用source執行,直接在父程式中執行

X=/bin/xdo cmd

執行cmd指令,X已在其環境變量中了

bash中的空指令 :(冒号)

$# 腳本參數個數

$@ 全部獨立變量

$* 全部變量,中間用分隔符分開

$$ 目前pid

以數字計算 $((…)) 或者 declare -i a = $a+$b

kill -l 1234 >err.txt 2>&1

${#var} 傳回var值的字元數

for f in *

do;…;done

for((init;limit;step))

'grep ...' = $(grep ...)

read test=[ ] 

if ... 

then

elif ... ;then

else

fi

while [] do

     ...

done

until [] do

循環一行表示:

while [ ] ;do ...;done

在done後加&,即可将循環放在背景執行。同理放置重定向符或管道符,可以将某個循環重定向。

case val in

     "…")

          ;;

     “…”)

     *)

esac

|| &&

is_ok && {...}

function func() {...}

break : continue . echo eval exec exit n export expr printf return set 

shift 左移腳本參數 

trap unset 

[ -f .profile ] && exit 0 || exit do

find . -newer file0 -type f -print

$(($x+1))

function name {}

name(){}

return local

指令分組

(...) 在子shell中執行 :(x=10)

{...} 在目前shell中執行 : { x=10; }