閱讀571 返回首頁    go 阿裏雲 go 技術社區[雲棲]


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))
do;…;done

'grep ...' = $(grep ...)
read test=[ ] 

if ... 
then
elif ... ;then
else
fi

while [] do
     ...
done
until [] do
     ...
done

循環一行表示:
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; } 

最後更新:2017-04-03 07:57:32

  上一篇:go findBug 錯誤修改指南
  下一篇:go 京東做手機,這個故事可以講多大?