?? incompat.sh
字號:
#!/bin/bash# 內部Bash變量"$*"和"$@"的古怪行為,#+ 都依賴于它們是否被雙引號引用起來.# 單詞拆分與換行的不一致的處理.set -- "First one" "second" "third:one" "" "Fifth: :one"# 設置這個腳本的參數, $1, $2, 等等.echoecho 'IFS unchanged, using "$*"'c=0for i in "$*" # 引用起來do echo "$((c+=1)): [$i]" # 這行在下邊每個例子中都一樣. # 打印參數.doneecho ---echo 'IFS unchanged, using $*'c=0for i in $* # 未引用do echo "$((c+=1)): [$i]"doneecho ---echo 'IFS unchanged, using "$@"'c=0for i in "$@"do echo "$((c+=1)): [$i]"doneecho ---echo 'IFS unchanged, using $@'c=0for i in $@do echo "$((c+=1)): [$i]"doneecho ---IFS=:echo 'IFS=":", using "$*"'c=0for i in "$*"do echo "$((c+=1)): [$i]"doneecho ---echo 'IFS=":", using $*'c=0for i in $*do echo "$((c+=1)): [$i]"doneecho ---var=$*echo 'IFS=":", using "$var" (var=$*)'c=0for i in "$var"do echo "$((c+=1)): [$i]"doneecho ---echo 'IFS=":", using $var (var=$*)'c=0for i in $vardo echo "$((c+=1)): [$i]"doneecho ---var="$*"echo 'IFS=":", using $var (var="$*")'c=0for i in $vardo echo "$((c+=1)): [$i]"doneecho ---echo 'IFS=":", using "$var" (var="$*")'c=0for i in "$var"do echo "$((c+=1)): [$i]"doneecho ---echo 'IFS=":", using "$@"'c=0for i in "$@"do echo "$((c+=1)): [$i]"doneecho ---echo 'IFS=":", using $@'c=0for i in $@do echo "$((c+=1)): [$i]"doneecho ---var=$@echo 'IFS=":", using $var (var=$@)'c=0for i in $vardo echo "$((c+=1)): [$i]"doneecho ---echo 'IFS=":", using "$var" (var=$@)'c=0for i in "$var"do echo "$((c+=1)): [$i]"doneecho ---var="$@"echo 'IFS=":", using "$var" (var="$@")'c=0for i in "$var"do echo "$((c+=1)): [$i]"doneecho ---echo 'IFS=":", using $var (var="$@")'c=0for i in $vardo echo "$((c+=1)): [$i]"doneecho# 使用ksh或者zsh -y來試試這個腳本.exit 0# 這個例子腳本是由Stephane Chazelas所編寫,# 并且本書作者做了輕微改動.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -