第一個(gè)Shell腳本
文件內(nèi)容
#!/bin/bash
echo "Hello World !"
執(zhí)行結(jié)果
chmod +x ./hello.sh // 給文件賦予執(zhí)行權(quán)限
$ ./hello.sh // 執(zhí)行文件
Hello World ! // 輸出內(nèi)容
可交互的 shell腳本
文件內(nèi)容
#!/bin/bash
# Author : 陳小陌
# Script follows here:
echo "What is your name?"
read PERSON
echo "Hello, $PERSON"
使用 read 命令從 stdin 獲取輸入并賦值給 PERSON 變量,最后在 stdout 上輸出:
執(zhí)行結(jié)果
chmod +x ./test.sh // 給文件賦予執(zhí)行權(quán)限
$ ./test.sh // 執(zhí)行文件
What is your name? // 輸出
zhangsan // 輸入后回車
Hello, zhangsan // 輸出結(jié)果
Shell文件格式和基本語(yǔ)法
Shell腳本文件的拓展名為 .sh
記得要給腳本,設(shè)置可執(zhí)行權(quán)限,腳本才能執(zhí)行。
文檔開頭必須由 #![解釋器]開頭,
例如:
#!/bin/bash
“#!” 是一個(gè)約定的標(biāo)記,它告訴系統(tǒng)這個(gè)腳本需要什么解釋器來(lái)執(zhí)行,即使用哪一種Shell。
“/bin/bash” 解釋器名稱
- 在windows下編輯時(shí),須把文件的換行方式修改為僅LF(UNIX),并且設(shè)置編碼為utf-8編碼,這樣在Linux下執(zhí)行才不報(bào)錯(cuò)。
變量
定義變量
定義變量時(shí),變量名不加美元符號(hào)($),如:
variableName="value"
myUrl="http://www.baidu.com"
myNum=100
** 注意,變量名和等號(hào)之間不能有空格,這可能和你熟悉的所有編程語(yǔ)言都不一樣。同時(shí),變量名的命名須遵循如下規(guī)則:**
- 首個(gè)字符必須為字母(a-z,A-Z)。
- 中間不能有空格,可以使用下劃線(_)。
- 不能使用標(biāo)點(diǎn)符號(hào)。
- 不能使用bash里的關(guān)鍵字(可用help命令查看保留關(guān)鍵字)。
使用變量
使用一個(gè)定義過(guò)的變量,只要在變量名前面加美元符號(hào)($)即可,如:
your_name="mozhiyan"
echo $your_name
echo ${your_name}
變量名外面的花括號(hào)是可選的,加不加都行,加花括號(hào)是為了幫助解釋器識(shí)別變量的邊界,比如下面這種情況:
for skill in Ada Coffe Action Java
do
echo "I am good at ${skill}Script"
done
如果不給skill變量加花括號(hào),寫成echo "I am good at $skillScript",解釋器就會(huì)把$skillScript當(dāng)成一個(gè)變量(其值為空),代碼執(zhí)行結(jié)果就不是我們期望的樣子了。
** 推薦給所有變量加上花括號(hào),這是個(gè)好的編程習(xí)慣。**