3-2 Shell腳本的語(yǔ)法


第一個(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í)慣。**


未完待續(xù)。。。。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容