目錄預設引數(變數預設值)
除了基本的獲取指令碼執行時的傳入引數外, 還有更便捷的語法糖: 引數預設值, 自動賦值.
先來乙個示例:
#!/bin/sh
echo 引數0: $0;
echo 引數1: $1;
echo 引數2: $2;
echo 引數3: $3;
echo 引數4: $4;
執行測試指令碼
[root@yjx214 tmp]# sh testparam.sh a b c d
所有引數: a b c d
引數0: testparam.sh
引數1: a
引數2: b
引數3: c
引數4: d
引數處理
說明$#
傳遞到指令碼的引數個數
$*以乙個單字串顯示所有向指令碼傳遞的引數。 如"$*"用「"」括起來的情況、以"$1 $2 … $n"的形式輸出所有引數。
$$指令碼執行的當前程序id號
$!後台執行的最後乙個程序的id號
$@與$*相同,但是使用時加引號,並在引號中返回每個引數。 如"$@"用「"」括起來的情況、以"$1" "$2" … "$n" 的形式輸出所有引數。
$-顯示shell使用的當前選項,與set命令功能相同。
$?顯示最後命令的退出狀態。0表示沒有錯誤,其他任何值表明有錯誤。
$* 與 $@ 區別:
#!/bin/bash
# author:菜鳥教程
# url:www.runoob.com
echo "-- \$* 演示 ---"
for i in "$*"; do
echo $i
done
echo "-- \$@ 演示 ---"
for i in "$@"; do
echo $i
done
執行指令碼,輸出結果如下所示:
$ chmod +x test.sh
$ ./test.sh 1 2 3
-- $* 演示 ---
1 2 3
-- $@ 演示 ---12
3
if [ ! $1 ]; then
$1='default'
fi
取預設值
$
實踐
[root@yjx214 /]# unset name
[root@yjx214 /]# echo $
[root@yjx214 /]# echo $
yjx[root@yjx214 /]# name=
[root@yjx214 /]# echo $
[root@yjx214 /]# echo $
[root@yjx214 /]#
[root@yjx214 /]# unset name
[root@yjx214 /]# echo $
yjx[root@yjx214 /]# echo $name
yjx[root@yjx214 /]# name=""
[root@yjx214 /]# echo $
[root@yjx214 /]#
取預設值
$
測試 null
[root@yjx214 /]# unset name
[root@yjx214 /]# echo $
yjx[root@yjx214 /]# echo $
yjx[root@yjx214 /]#
測試 空字串
[root@yjx214 /]# name=""
[root@yjx214 /]# echo $
yjx[root@yjx214 /]# echo $name
yjx
[root@yjx214 /]# unset name
[root@yjx214 /]# echo $
-bash: name: yjx
[root@yjx214 /]# name=""
[root@yjx214 /]# echo $
-bash: name: yjx
[root@yjx214 /]# name="guest"
[root@yjx214 /]# echo $
guest
與:-
相反
[root@yjx214 /]# name="guest"
[root@yjx214 /]# echo $
yjx[root@yjx214 /]# echo $name
guest
方法引數 預設值 Python引數的預設值陷阱!
今日分享 引數的預設值陷阱 下面定義的函式f,其引數d是乙個預設引數,且為字典型別 def f a,d print f a print f d do some process return d 最後返回字典d,下面呼叫函式f ret dict f 1 第二個引數d使用預設值 ret dict b 2...
函式引數的預設值與解構賦值的預設值
function foo 物件,沒有預設值,只有解構賦值引數的預設值 console.log x,y foo undefined 5 foo 1 5 foo 1 2 foo typeerror cannot read property x of undefined上面 只使用了物件的解構賦值預設值,...
函式(引數,預設值)
js定義函式引數沒有非常嚴格的要求,可以有也可以沒有,在呼叫的時候也是,引數可以有可以沒有,也可以和定義時的引數個數不一致 沒有給count傳入引數,預設為10 也可以直接在引數中給count賦值 但是特別注意的是不能給count傳入0,因為0與undefined都是false,因此count傳入的...