最近終于將shell語法知識捋了一遍碑诉,但是還有些小的知識點需要被總結和記錄。
1纳令、包含
之前的變量類型說到過挽荠,每個腳本里的變量都是獨立的;但是我如果就想使用另一個腳本里的變量平绩,要如何處理了圈匆,包含的作用就在這里顯現(xiàn)了。如果一個腳本包含了另一個腳本捏雌,那么被包含腳本里的變量就可以被包含的腳本使用了跃赚。
shell里用點.表示包含關系;如下:
. filename? # 注意點號(.)和文件名中間有一空格
test1.sh 代碼如下:
#腹忽!/bin/bash
name='joy'
test2.sh 代碼如下:
#来累!/bin/bash
../test1.sh
echo 'my name is $name'
執(zhí)行test2.sh腳本
bash test2.sh
->my name is joy
2、?printf
它是shell里的一個輸出命令窘奏,可使用格式化字符串輸出命令嘹锁。默認 printf 不會像 echo 自動添加換行符,需要手動添加 \n着裹。
例:
$ echo "Hello, Shell"
Hello, Shell
$ printf "Hello, Shell\n"
Hello, Shell
$
與python類似领猾,%s %d 都是格式替代符,%s表示字符,%d表示數(shù)字。
格式:
printf? ''%s?%d?"?變量名
例:
printf "%s %s %d\n" 姓名 性別 年齡
->小明 男 10