shell的簡介:
shell 是命令直譯器,位於底層硬體( hardware )、系統核心( kernel )上層,是軟體應用程式和系統核心溝通橋梁。shell 輸入使用者指令至系統核心並將執行結果展示給使用者,展示介質一般是螢幕。shell中文可以理解為外殼。
shell 指令碼一般是文字檔案,內部整合命令、語句塊和迴圈等內容,通過 shell 直譯器執行。通用是.sh字尾。
shell 指令碼語言是弱型別語言,變數名稱無需指定資料型別,linux 系統下主要分為bourne shell 和 c shell兩種。bourne shell 包括 sh 和bash等,c shell 包括 csh 和 tcsh 等。
shell指令碼的建立和執行:
#檢查系統是否安裝vim
#無類似以下輸出結果為未安裝
[root@promote ~]
# rpm -qa | grep vim
vim-common-7.4.160-5.el7.x86_64
vim-enhanced-7.4.160-5.el7.x86_64
vim-minimal-7.4.160-5.el7.x86_64
vim-filesystem-7.4.160-5.el7.x86_64
[root@promote ~]
# #未安裝執行安裝命令
[root@promote ~]
# yum install vim -y
shell
指令碼通常用編輯器vim建立和修改。也可以使用其他編輯器,例如nano等。
建立指令碼users.sh。用於顯示當前使用者。
[root@promote ~]
# vim users.sh
#按i進入編輯模式輸入who
#按esc 退出編輯模式
#輸入:wq 儲存檔案
#
授予指令碼可執行許可權
[root@promote ~]
# chmod +x users.sh
#檢視當前目錄檔案
[root@promote ~]
# ls
#執行指令碼
[root@promote ~]
# ./users.sh
root tty1 2019-03-31 11:17
root pts/0 2019-03-31 14:08 (192.168.216.1)
[root@promote ~]
# 可以
看出當前使用者是root,分別在本機和192.168.216.1遠端登入。vim快捷鍵還可以使用w儲存修改,q退出編輯,q!不儲存強制退出編輯。
下文正式開始shell指令碼編寫。該指令碼執行安裝epel-release和htop兩個軟體。
[root@promote ~]
# vim install_htop.sh
#!/bin/bash
#date: 2019-03-31 14:55:55
#author: weiwei
#version: v1.0
#install epel-release
yum install epel-release -y
#install htop
yum install
htop -y
#!/bin/
bash用於指定指令碼直譯器,本例指定直譯器為/bin/bash,通常指令碼還加上編寫時間、作者和版本等資訊,用於滿足shell程式設計規範推薦。從該指令碼開始需要增加以上注釋內容。
#開頭為注釋,通常位於指令碼前後行或指令碼行尾,直譯器不會加以解釋執行。指令碼增加注釋可以幫助自己和他人理解指令碼用途,通常指令碼不建議使用中文字元。
指令碼檔案如何執行呢?除了第一講介紹方法外,下文介紹第二和第三種方法。
#和第一種方法缺少chmod賦予執行許可權過程
[root@promote ~]
# bash install_htop.sh
#第三種方法
[root@promote ~]
# source install_htop.sh
指令碼執行過程中,會查詢系統環境變數。env命令可以詳細顯示環境變數。
[root@promote ~]
# env
shell及其他解釋型語言的一般格式?
#!/bin/bash
#shell指令碼的首行格式
#!/usr/bin/python #python指令碼的格式
#!/usr/bin/perl #perl指令碼的格式
#description: #"#"開頭的單個井字型大小是注釋符,其後內容不當做指令碼程式執行
command #指令碼的程式設計內容部分,命令的堆砌,單一命令的組合完成複雜任務
怎樣讓指令碼執行起來?
1.絕對路徑(全路徑)#/usr/local/test.sh
需要執行許可權
2.相對路徑#在指令碼檔案路徑下執行 ./test.sh
需要執行許可權
3.bash test.sh#bash /path/to/test.sh
不需要執行許可權
bash -n 語法結構檢查
bash -x 除錯模式執行,顯示每一步的執行過程
7 Shell指令碼程式設計高階
1 編寫指令碼實現傳入程序pid,檢視對應程序 proc下的cpu 記憶體指標。bin bash color red start 1 31m color red end 0m read p please input the pid to check cpu mem infomation pid ch...
Shell 指令碼程式設計
1 執行shell的方法 指定shell bin sh 由sh執行指令碼 指令碼總是由sh解釋 顯示呼叫shell sh scriptname 在當前shell中執行指令碼 profile profile是可執行的 ksh profile profile是不可執行的 改變當前的執行環境責應輸入.pr...
Shell 指令碼程式設計
a file 如果 file 存在則為真。b file 如果 file 存在且是乙個塊特殊檔案則為真。c file 如果 file 存在且是乙個字特殊檔案則為真。d file 如果 file 存在且是乙個目錄則為真。e file 如果 file 存在則為真。f file 如果 file 存在且是乙個...