用shell指令碼來實現日曆的螢幕控制

2021-07-25 04:09:08 字數 1929 閱讀 2065

首先什麼是指令碼?

指令碼語句由linux系統解釋執行.指令碼由指令碼語言與可執行的二進位制檔案或命令組成,因此,指令碼是不需要再編譯鏈結的.為了與高階語言源程式加以區別,linux中將其稱為」 指令碼 「

應用題目:建立乙個指令碼檔案file.sh完成以下功能。

@1:螢幕顯示如下:

@2:接收使用者的選擇。

@3:根據使用者選擇完成相應的任務。

要求:僅當使用者選擇0才能結束程式的執行,返回linux,否則繼續顯示功能選單接受使用者的選擇,將螢幕控制起來。當使用者選擇1時,只需輸入年份,輸出本年的日曆,選擇2時,輸入 年份和月份,輸出當前月的日曆

演算法:使用迴圈實現螢幕控制

實現步驟:

首先開啟終端:vim file.sh

輸入以下源**:

ch=1

while [ $ch != "0" ]

doecho

"******************************"

echo

" 0.exit "

echo

" 1.display calendar of month "

echo

" 2.display calendar of year "

echo

"******************************"

echo

"please choose number 1,2,or,0:"

read ch

if [ $ch = "1" ]

then

echo

"imput year:"

read year

echo

"input month:"

read month

cal $month

$year

else

if [ $ch = "2" ]

then

echo

"input year:"

read year

cal $year

else

if [ $ch = "0" ]

then

echo

"exit now!"

else

echo

"wrong choose!"

echo

"please choose again!"

fifi

fiecho

" "

done

又由於指令碼不能單獨執行,需要給它賦予可執行許可權:

修改檔案屬性為可執行: chmod 777 檔名(777可以是其他許可權的組合)許可權的約定: 0:(無許可權) 1:(可執行) 2:(可寫) 4 :(可讀)

此時檔案可以執行了,在終端輸入: ./file.sh

注意:linux文字方式下,檔案所在的路徑名有時不能預設,這時需要加上路徑名,即使是當前目錄也要加上 ./

執行結果:此時如果選擇1的話(需要輸入年和月,並列印該月日曆)

選擇2的話,只需要輸入年,同時列印整年的日曆:

選擇3的話會退出迴圈:

此時便完成了乙個指令碼,從而實現螢幕的控制,根據使用者選擇來輸出日曆了.

用shell指令碼來判斷Apache是否開啟

1 建立指令碼 vim test.sh 注 該指令碼名不能建立為包含 httpd 字段,因為該指令碼搜尋是否存在包含 httpd 欄位的程式正在執行 2 編寫 bin bash 判斷apache是否斷開,若斷則重啟 從程序檢視apache是否開啟,test值為空則apache已關閉 fi 判斷tes...

shell指令碼實現日曆的螢幕控制

首先什麼是指令碼?指令碼語句由linux系統解釋執行.指令碼由指令碼語言與可執行的二進位制檔案或命令組成,因此,指令碼是不需要再編譯鏈結的.為了與高階語言源程式加以區別,linux中將其稱為 指令碼 應用題目 建立乙個指令碼檔案file.sh完成以下功能。1 螢幕顯示如下 jhjrvmk 2 接收使...

用SHELL指令碼來防SSH暴力破解

由於機器已經在跑重要的業務,我又不想去公升級核心,免得影響正常的 運營,所以iptables的想法暫時告一段落 後來我又想到用hostsdeny的方法來解決這個問題,感覺這個方法還是比較繁瑣,還不如自己手動寫指令碼來解決這個麻煩,指令碼內容如下 bin bash cat var log secure...