Shell程式設計基入門

2021-10-01 06:47:26 字數 2618 閱讀 7265

shell是乙個命令直譯器,他的作用就是解釋執行使用者輸入的命令和程式,使用者輸入一條命令,它就執行一條,就可以立即得到回應的對話方式被稱為"互動"

shell存在於作業系統的最外層,負責與使用者直接對話,把使用者輸入的命令解釋給作業系統,並處理各式各樣的作業系統的輸出結果,然後輸出到明明返回給使用者;例如,在linux系統種使用者輸入使用者名稱和密碼並登陸到linux後所有的操作均由shell解釋並執行。

從』shell』單詞的英文釋義可得,命令直譯器(shell)是貝殼的意思,從來看shell就像貝殼一樣包住了系統核心

當命令或程式語句不在命令列中執行,而是通過乙個程式檔案來執行時,該程式就可以成為shell指令碼,通俗的說就是將一大堆命令寫入指令碼中,再由shell執行,就叫做shell指令碼,這種通過檔案執行指令碼的方式稱為非互動的方式,在windows下,這種被稱為 『dos批處理程式』

範例:清除/var/log/下的message日誌檔案

必須以root使用者執行

#!

/bin/bash

cd /var/log

cat /dev/null > messages

echo "logs cleaned up."

1、shell指令碼語言在unix/linux中主要有兩大類shell:一類是bourne shell 、一類是c shell

1.bourne shell

包括bourne shell(sh)、 korn shell(ksh) 、bourne again shell(bash)三種

2.c shell

包括 csh 、 tcsh 兩種

檢視系統支援的shell

#[root@localhost ~

] # cat /etc/shells

2、其他常用指令碼語言種類

①php語言

②perl語言

③python語言

3、linux檢視系統預設shell

法一

[root@localhost ~

] # echo $shell

法二:[root@localhost ~

] # grep root /etc/passwd

1、指令碼開頭(第一行)

會以如下的形式指出由哪個直譯器來執行指令碼中的內容,如下

#!

/bin/bash或#!

/bin/sh

1、編寫乙個簡單小指令碼,條件如下

1、在/root/下建立該指令碼,命名為 test.sh

2、關閉防火牆(firewalld)

3、關閉防火牆自啟

4、設定selinux安全模組為允許模式

5、修改主機名為test

6、檢視當前時間

7、執行完後刪除該指令碼

#!

/bin/bash

systemctl stop firewalld

systemctl disable firewalld

setenforce 0

hostnamectl set-hostname test

date

echo "execution completed !"

rm -rf /root/test.sh

2、利用while輸出
#!

這裡是利用while語句進行迴圈輸出,注意 中括號和數字之間一定要有空格,不能挨在一起,這裡的 -gt 是指的大於,若1>0 條件成立,那麼就執行

2、指令碼的執行

1、使用 . 加上檔名或者絕對路徑,點後面有乙個空格

2、使用直譯器執行,如下:

3、使用source

3.指令碼的終止

運算子說明

-eq檢測兩個數是否相等,相等返回 true。

-ne檢測兩個數是否不相等,不相等返回 true。

-gt檢測左邊的數是否大於右邊的,如果是,則返回 true。

-lt檢測左邊的數是否小於右邊的,如果是,則返回 true。

-ge檢測左邊的數是否大於等於右邊的,如果是,則返回 true。

-le檢測左邊的數是否小於等於右邊的,如果是,則返回 true。

shell程式設計入門

shell指令碼程式不是複雜的程式,它是按行解釋的。指令碼程式總是以 bin sh 開始,它通知shell使用系統上的bourne shell直譯器。其中 符號是注釋。指令碼程式是從上到下執行的,執行指令碼前需要改變該指令碼程式的執行許可權。確保正確建立指令碼例徑,只有 這樣,指令碼程式才能正確執行...

Shell 程式設計入門

首先建立乙個檔案 在終端中輸入如下命令 vi helloworld.sh 然後按i進行命令編寫 下面這句話是必須寫的 bin sh這句話是必須寫的 bin sh a hello world echo a 下面執行的時候先得輸入 將這個許可權改為可執行檔案 chmod x helloworld.sh ...

Shell程式設計入門

目錄 shell概述 shell解析器 shell指令碼 什麼是shell指令碼 編寫shell指令碼 1 指令碼格式 2 第乙個shell指令碼 helloworld 3.指令碼的常用執行方式 第一種 採用bash或sh 指令碼的相對路徑或絕對路徑 不用賦予指令碼 x許可權 第二種 採用輸入指令碼...