shell是運維開發最重要的一項語言!
幾乎所有的運維崗位都要求會shell語言,會用shell執行一些簡單的任務,做一些自動化運維相關的工作。
shell既是一種命令語言,又是一種程式語言,是使用者使用linux的橋梁。
shell是指一種應用程式,這個應用程式提供了乙個介面,使用者通過這個介面訪問作業系統核心的服務。
shell指令碼(shell script),是一種為shell編寫的指令碼程式。
通常我們所說的shell通常是指shell指令碼。
shell程式設計跟其他程式設計一樣,只要乙個能編寫**的文字編輯器和乙個能執行的指令碼直譯器就可以了。
當然linux的shell種類有很多:
我們所說的環境是bash(bourne again shell),它由於易用和免費,在我們日常工作中被廣泛使用。同時,bash也是大多數linux系統預設的shell。在一般情況下,人們並不區分 bourne shell 和 bourne again shell,所以,像#!/bin/sh,它同樣也可以改為#!/bin/bash。
#! 告訴系統其後路徑所指定的程式即是解釋此指令碼檔案的 shell 程式。
開啟文字編輯器,新建乙個檔案demo.sh,拓展名為sh(代表shell)
範例:hello world
將上面的**儲存為demo.sh,並cd到相應目錄#!/bin/bash
echo "hello world !"
echo "hello bro!"
chmod +x ./demo.sh #使指令碼具有執行許可權
./demo.sh #執行指令碼
注意:這種執行方式是直接執行直譯器,其引數就是shell指令碼的檔名一定要寫成./demo.sh,而不是demo.sh,直接寫 demo.sh,linux 系統會去 path 裡尋找有沒有叫 test.sh 的,而只有 /bin, /sbin, /usr/bin,/usr/sbin 等在 path 裡,你的當前目錄通常不在 path 裡,所以寫成 demo.sh 是會找不到命令的,要用 ./demo.sh 告訴系統說,就在當前目錄找。
這種方式執行的指令碼,可以不需要在第一行指定直譯器資訊,因為寫了起不了作用/bin/sh test.sh
/bin/php test.php
我們使用第二種方式,使用sh demo.sh
命令執行指令碼輸出結果如下:
今天簡單學習到這裡,明天見!$ sh demo.sh
hello world !
hello 簡單教程!
Shell學習計畫 Shell 陣列
今天來說一說陣列!陣列中可以存放很多值 bash shell中只支援一維陣列 不支援多維陣列 初始化時不需要定義陣列大小 shell 陣列語法格式如下 array name value1 valuen shell 陣列元素的下標由0開始,這與大部分程式語言都類似。shell 陣列用括號來表示,元素用...
Shell學習計畫 Shell 傳遞引數
我們在執行 shell 指令碼時可以向指令碼傳遞引數。shell 指令碼內可以獲取我們傳遞的引數 向指令碼傳遞的引數以空格分開,空格數量沒限制,但至少乙個。在 shell 指令碼內獲取引數的格式為 n n代表乙個數字,1 為執行指令碼的第乙個引數,2 為執行指令碼的第二個引數,以此類推.注意 0為執...
shell學習之 shell呼叫shell
2008 05 06 14 43 18 分類 linux 標籤 字型大小 大中小訂閱 fork是最普通的,就是直接在指令碼裡面用 directory script.sh來呼叫script.sh這個指令碼.執行的時候開乙個sub shell執行呼叫的指令碼,sub shell執行的時候,parent ...