什麼是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...