cetos7 Shell指令碼程式設計

2021-09-29 12:19:49 字數 2833 閱讀 7626

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 存在且是乙個...