亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

shell簡介基礎(一)

發布時間:2020-10-03 16:36:01 來源:網絡 閱讀:1056 作者:上帝之子521 欄目:開發技術

        我們在嵌入式的開發中,難免會要用到腳本。常用的也就是 makefile 和 shell 腳本了,之前我們學習了 makefile 相關的知識,接下來我們也將要學習 shell 相關的知識,以便在以后的嵌入式開發中能更快、更高效的完成任務。學習于果子玩轉 Linux 下 SHELL 編程

        那么什么是 shell 呢?shell 是結余用戶與系統之間,幫助用戶與系統進行溝通的工具。關系如下圖

shell簡介基礎(一)

        那么除了文字模式的 shell 外,GNOME、KDE 這類圖形界面也屬于 shell 的范疇。我們通常提到的 shell 都指的是狹義上的 shell,即文字模式的 shell。一般來說,shell 可以分成兩類。第一類是由 Bourneshell 衍生出來的包括 sh,ksh,bash 與 zsh;第二類是由 CShell 衍生出來的,包括 csh 與 tcsh。除此之外,還有一個 rc。

        那么我們為什么要來學習 shell 呢?其主要原因可以總結為以下三點:

        1、圖形用戶界面只是一個程序套件,文字模式的 shell 功能和能執行的任務則比圖形界面要強的多;

        2、shell 是文字模式,因此遠程登錄和傳輸的速度比圖形界面更快;

        3、shell 使用起來更方便。


        Linux 下的支持的 shell 有好多種,我們學習的就是最常用的 bash shell。現在主要的 Linux 發行版都是用 bash 作為默認的管理 shell。下來我們就來說說如何編寫一個簡單的 bash shell。

        1、使用任何的文本編輯工具進行編寫,如:vim

            #!/bin/bash  #放置在文件的開頭

        2、設置腳本執行權限

            chmod a+x filename

            chmod 700 filename

        3、執行腳本

            bash your_script.sh

            sh your_script.sh

            ./your_script.sh


test.sh 源碼

#!/bin/bash
echo "hello world!"

        運行結果如下

shell簡介基礎(一)

        我們看到在執行的時候,它說沒有權限,然后我們執行上面的第二步。再來看看

shell簡介基礎(一)

        我們已經成功地用 shell 輸出了經典的 hello world。那么上面的那句 #!/bin/bash 是什么意思呢?它的意思是用 bin 目錄下的 bash 腳本解釋器來對其進行解釋。

        下來我們來看看 shell 中的變量。在 shell 中,變量分為系統環境變量和 UDV (user defined variable)變量。系統環境變量是系統本身所有,通常為大寫字母,系統變量是通過 set 或 declare 指令進行查看;而 UDV 變量則是由用戶創建和為維護的,我們建議定義其時進行大寫的定義。那么這時為什么呢?因為 Linux 系統的命令全部采用的是小寫方式,我們應避免沖突與混淆。

        那么 shell 中所有變量定義都是字符串;應區分變量的大小寫,如:var 和 Var 是兩個不同的變量;變量必須以字母或下劃線開頭,不得有“,”;‘:’;“\”等特殊字符。

        下來我們來進行下實驗

shell簡介基礎(一)

        我們看到在 set | grep PATH 后出現了 PATH 相關的定義。在進行變量的定義時加 , 或者 \ 的時候,都出現了錯誤。下來我們來講講變量的聲明和定義,變量的定義如我們上面所操作的那樣,直接是 變量名=值(變量名與值之間的“=”號沒有空格);如果我們需要聲明帶有空格的變量,那么我們就必須像定義字符串一樣加上 “” 才行。如果我們需要聲明一個只讀變量,那么在定義的前面需要加上 readonly;修改環境變量,如PATH=$PATH:/class/bin ,修改用戶自定義變量時,如:DIR="hello"。

        我們想要使用變量的話,應在變量前面加 “$”符號,在上面的示例中也展示了。echo $DIR 或 echo ${DIR}。那么上面兩種用法有何區別呢?我們為何要在 shell 中使用變量,又為何要添加界定符 {} 呢?

        下來我們還是以實驗為例來進行講解:第一種寫法:

#!/bin/bash
echo "/home/aston/test"

        我們來看看執行后的結果

shell簡介基礎(一)

        我們再來看看第二種寫法

#!/bin/bash
PWD="/home/aston/test"

echo $PWD

shell簡介基礎(一)

        我們看到效果是一樣的,但是第二種看起來就非常的簡潔明了,所以我們在 shell 中定義變量是為了提高代碼的可讀性。下來我們來看看界定符的作用。在有的版本中,界定符是為了保證我們如果在一個環境變量后面追加東西時,它會直接寫到這個環境變量的路徑后面。在有的版本中,這個好像沒什么作用了。不過我們盡量還是加上界定符,以保證最大的正確率。

向AI問一下細節
推薦閱讀:
  1. shell簡介
  2. Linux shell基礎

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

庆阳市| 华亭县| 通渭县| 洪江市| 兰西县| 察雅县| 余庆县| 古田县| 田阳县| 兴隆县| 绵竹市| 崇礼县| 瓮安县| 汕尾市| 兴仁县| 宁明县| 普格县| 广饶县| 阿拉善右旗| 乳山市| 沧州市| 平山县| 麻阳| 固安县| 陈巴尔虎旗| 齐齐哈尔市| 江孜县| 黑山县| 武功县| 屯留县| 曲水县| 佛山市| 仁寿县| 米林县| 井陉县| 东港市| 烟台市| 临朐县| 普宁市| 海晏县| 泽州县|