17Linux之Shell腳本編程基礎(chǔ)

  • 1、Shell 是什么?
  • 2、Shell 的分類
  • 3、查看Linux系統(tǒng)支持的 shell:/etc/shells
  • 4、echo 輸出命令
  • 5、腳本執(zhí)行方式

1、Shell 是什么?

和大家通常說的shell是一門編程語言的說法其實是不完全正確的。

①、shell 是一個命令行解釋器,它為用戶提供了一個向 Linux 內(nèi)核發(fā)送請求以便運行程序的界面系統(tǒng)級程序,用戶可以用 shell 來啟動、掛起、停止甚至是編寫一些程序。

比如,我們現(xiàn)在操作的界面就是shell,我們輸入一些命令,通過shell 去翻譯為機(jī)器語言,然后由硬件去執(zhí)行這些命令。

②、shell 是一個功能很強(qiáng)大的編程語言,它易編寫、易調(diào)試,而且靈活性強(qiáng)。shell 是解釋執(zhí)行的腳本語言,在 shell 中可以直接調(diào)用 Linux 系統(tǒng)命令。

其實windows類似于shell的就是它的圖形交互界面,我們在windows系統(tǒng)中打開文件,刪除文件等操作,就是向windows系統(tǒng)發(fā)送命令。

2、Shell 的分類

3、查看Linux系統(tǒng)支持的 shell:/etc/shells

我們可以在shell解釋器中直接輸入shell名稱進(jìn)行切換

4、echo 輸出命令

這個命令如果學(xué)過Java的類似于 System.out.println(),如果學(xué)過C語言的類似于 printf(),在shell 當(dāng)中語法形式如下:

echo 【選項】【輸出內(nèi)容】

-e 表示支持反斜杠控制的字符轉(zhuǎn)換,也就是轉(zhuǎn)義字符。

范例:

5、腳本執(zhí)行方式

首先我們編寫一個shell 腳本。通過 vi hello.sh,打開 hello.sh 文件,然后在文件中添加如下內(nèi)容:

①、我們說Linux系統(tǒng)是不區(qū)分文件后綴名的,這里我們學(xué)習(xí)的是 bash,所以創(chuàng)建文件 hello.sh,后綴名最好加上.sh(雖然不加也沒問題),便于我們識別。

②、腳本的第一行 #!,這是一個約定的標(biāo)記,它告訴系統(tǒng)這個腳本需要用什么解釋器去執(zhí)行,即使用哪一種 shell,所以學(xué)習(xí) bash,第一行固定都是 #!/bin/bash。這是不能省略的。

創(chuàng)建完畢之后,接下來執(zhí)行該腳本,有如下兩種方式:

  ①、作為可執(zhí)行程序

cd /tmp                     #進(jìn)入到腳本所在的目錄
chmod +x ./hello.sh   #使得腳本具有可執(zhí)行權(quán)限
./hello.sh                  #執(zhí)行腳本

注意,一定要寫成 ./hello.sh,而不是 hello.sh,運行其它二進(jìn)制的程序也一樣,直接寫 hello.sh,linux 系統(tǒng)會去 PATH 里尋找有沒有叫 hello.sh 的(這是后面會講的環(huán)境變量的配置),而只有 /bin, /sbin, /usr/bin,/usr/sbin 等在 PATH 里,你的當(dāng)前目錄通常不在 PATH 里,所以寫成 hello.sh 是會找不到命令的,要用 ./hello.sh 告訴系統(tǒng)說,就在當(dāng)前目錄找。

 ?、凇⒆鳛榻忉屍鲄?shù)

也就是直接運行解釋器,其參數(shù)就是 shell 腳本的文件名,如下:

/bin/sh hello.sh
或者
bash hello.sh

注意:這種方式執(zhí)行腳本,并不需要第一行寫上 #!/bin/bash。

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

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

  • 程序:什么是程序 程序是指令加數(shù)據(jù)來組合來完成 真正關(guān)心的是對數(shù)據(jù)的處理,通過指令對數(shù)據(jù)的操作 程序編程風(fēng)格 在程...
    數(shù)據(jù)革命閱讀 502評論 0 0
  • shell好像很有用,雖然我不大明白用來干啥的,好像是有很多可以調(diào)用系統(tǒng)參數(shù)的變量,所以適合在Linux寫腳本?菜...
    隱丶孤閱讀 168評論 0 0
  • Shell是一個"命令行解釋器",它為用戶提供了一個向Linux內(nèi)核發(fā)送請求以便運行程序的界面系統(tǒng)級程序,用戶可以...
    tf_dejs閱讀 469評論 0 1
  • 第一章 1.Linux是一套免費使用和自由傳播的類UNIX操作系統(tǒng),它可以基于Intel x86系列處理器以及Cy...
    yansicing閱讀 5,579評論 0 9
  • 參考:《shell腳本-菜鳥教程》 1.shell腳本簡介 1.1. 什么是shell 百度百科[https://...
    禿頭猿猿閱讀 1,185評論 2 19

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