shell 基本知識

2021-09-26 18:50:49 字數 1754 閱讀 3319

什麼是shell

shell是作業系統中的乙個軟體包

它包在liunx核心的外面,為使用者和核心之間的互動提供了乙個介面

系統中的命令用shell去解釋shell接受系統回應的輸出並顯示其到螢幕中

bash = gnu boune-again shell

什麼是shell指令碼

指令碼是一種解釋型語言

用shell 指令碼儲存執行的動作

用指令碼判定命令的執行條件

用指令碼來實現動作的批量進行

如何建立指令碼

vim /etc/vimrc

檔案屬性方式

autocmd bufnewfile *.sh exec ":call liu()" #當建立以.sh結尾的vim檔案時會自動生成以下格式

function liu()

endfunction

快捷鍵方式

map ms:call liu()'s    #固定格式,當按f9時建立vim檔案會自動生成以下格式

function liu()

endfunction

指令碼的除錯

vim test.sh

chmod +x test.sh    #給test.sh執行許可權

sh test.sh #此時會執行不下去

sh -x test.sh #指令碼除錯

此時會清楚看到在執行cat命令時不能繼續執行

shell指令碼的執行

sh script.sh

source script.sh

.script.sh

chmod +x script.sh

./script.sh

指令碼示例

執行ip_show.sh         #顯示當前主機的ip位址

執行user_show.sh #顯示當前主機中能登陸系統的使用者

執行host_message.sh #顯示當前主機名稱,ip,以及能夠登陸系統的使用者

執行clear_log.sh #執行命令後可以清空日誌

例1:

vim ip_show.sh'}

如果沒有eth0

'`"

}

例2:

vim user_show.sh

' /etc/passwd

}

例3:

vim host_message.sh

'`"

echo "login user list:

`awk -f : '/bash$/||/sh$/' /etc/passwd | sed 's/^/ /g'`"

}

例4:

考慮當前使用者不是root日誌不在 /var/log中

vim clear_log.sh

||}

shell基本知識

shell型別 函式 主過程要呼叫才能執行 多行注釋 或 單行注釋 bin bash echo abcdefg.syshello syshello echo start.syshello echo exit.fi 結束標誌 grep ls l grep root awkls l awk ls l a...

shell 基本知識

shell是linux的一外殼,它包在linux核心的外面,為使用者和核心之間的互動提供了乙個介面 當使用者下達指令給作業系統的時候,實際上是把指令告訴shell,經過shell解釋,處理後讓核心做出相應的動作 系統的回應和輸出的資訊也由shell處理,然後顯示在使用者的螢幕上 簡單的說,當命令或者...

shell中的基本知識

指令碼是一種解釋型語言 用shell指令碼儲存執行動作 用指令碼判定命令的執行條件 用指令碼來實現動作的批量執行 vim etc vimrc 用vim編寫指令碼 bin bash 指令碼使用的直譯器,通常用幻數 指定 author 指令碼作者 date 指令碼創作時間 mali 指令碼作者 vers...