Title here
Summary here
上一個命令或者腳本嘅退出碼,0 代表成功,非 0 代表失敗。
ls 404
echo $?
會輸出 2,表示失敗。喺腳本中可以用 exit
指定返回碼。
表示傳畀腳本或者函數嘅參數個數。
#!/usr/bin/env bash
echo $#
./foo p1 p2
2
傳畀腳本嘅所有參數,默認以空格分隔。
#!/usr/bin/env bash
echo $*
./foo p1 p2p3
p1 p2p3
分隔符可以通過 IFS
變量修改。
傳畀腳本嘅所有參數,默認以空格分隔。
#!/usr/bin/env bash
echo $@
./foo p1 p2p3
p1 p2p3
分隔符可以通過 IFS
變量修改。
主要區別喺處理帶有空格嘅參數。
$*
:代表所有參數嘅字符串,係一個整體。$@
:$*
一樣。"$@"
,表示參數數組,每個參數係獨立嘅。# 假設傳畀嘅參數係 "arg1" "arg2 with space" "arg3"
for arg in "$@"; do
echo "Argument: $arg"
done
# 將所有參數傳畀另一個腳本
another_script "$@"
當前腳本嘅進程 ID。
echo $$
最近喺進程後台運行嘅進程 ID。
echo $!
當前腳本名稱。
echo $0
-bash
第 n 個參數。
#!/usr/bin/env bash
echo $1
./foo a b c
a
腳本嘅選項。
echo $-
himBHs
上面係當前 Shell 嘅啟動選項。