導航:首頁 > 操作系統 > linuxshellcase

linuxshellcase

發布時間:2023-09-24 12:12:48

linux 編寫一個shell腳本文件,實現以下功能

#!/bin/bash
whiletrue
do
cat<<END
啟動Apache(a)
啟動Mysql(m)
啟動Samba(s)
啟動FTP(f)
啟動DNS(d)
退出腳本(E)
END
read-p"請輸入要執行的操作:"choice
case$choicein
a)
servicehttpdstart
;;
m)
servicemysqldstart
;;
s)
servicesambastart
;;
f)
servicevsftpdstart
;;
d)
servicenamedstart
;;
E)
exit
;;
*)
echo"輸入有誤,請輸入字母a/m/s/f/d啟動相應的服務!"
;;
esac
done

這是模板,純手打。其中的service httpd start之類的可以換成具體的命令,也可以加上if判斷。

針對按什麼鍵執行什麼操作用case判斷最方便

其中

a)的意思是如果$choice等於a的話則執行什麼什麼

m)的意思是如果$choice等於m的話則之姓什麼什麼

其餘同理

*)的意思是如果沒有以上的a) m) f)...的話就會匹配到這一行,就會輸出:輸入有誤,請輸入字母a/m/s/f/d啟動相應的服務。

read -p "請輸入要執行的操作:" choice //這是個互動式的命令,會輸出"請輸入要執行的操"作到顯示器上,然後將你輸入的值賦值給變數choice 然後再用case判斷變數choice。

if判斷也可以。根據個人喜好來。

case xxx in

x)

;;

y)

;;

*)

;;

這是語法。

Ⅱ Linux裡面shell裡面fi命令作用是什麼

fi 是if語句的固定格式,shell裡面有各種循環,都有固定的格式,個人理解是告訴計算機,這個循環語句到此,類似case循環一esac結尾一樣。

Ⅲ Linux如何編寫shell腳本

  1. 一般以#!/bin/sh開頭(不是必須要寫,但一定要單獨一行),指定執行這個腳本的shell程序(也可以用#!/bin/zsh或其他),然後就是堆命令了。

  2. Linux的shell腳本支持很多功能,加上Linux高度模塊化的命令,完全可以用shell腳本寫出復雜的程序。

  3. 以上只是簡單介紹如何開始寫shell腳本,如果要寫復雜的腳本,還需要深入學習相關知識(如if——fi、case——esac等結構)。

  4. 當然,還需要給腳本加上可執行許可權(chmod +x ./file.sh),否則可以用sh ./file.sh方式執行腳本(這里的sh是執行腳本所需shell,命令也可以是zsh ./file.sh或其他)。

  5. 整個shell腳本,其實就相當於你在終端輸入的一系列命令,如果想在shell里做什麼,就先想想在終端可以做什麼吧,字元的的連接,就是直接用 "" 雙引號,輸出,變數定義無 $ 符號,但是使用時一定要加上 $ 符號。

  6. "=" 賦值符號,兩邊一定不能有空格,這和其他語言有區別,尤其是你還有自己代碼美觀風格時特別注意,否則會報語法錯誤!

  7. for 中的數組內容是以 " " 空格分隔,而非 "," 逗號分格。

  8. 條件判斷 [ true ] 中括弧 後面需要有一個空格,但是兩個中括弧之間不能有空格如 [[ true ]]。

  9. while 條件判斷可以用 () 括弧,也可以用 [[ ]] 中括弧。

  10. 如果用windows寫shell,一定要注意換行符格式 而非 , 需要藉助一些編輯器(如notepad++)更改換行符格式!

Ⅳ linux中設計一個shell腳本程序可以接受命令行輸入的參數執行相應的菜單命令

echo "------------------------"
echo "1、命令1"
echo "2、命令2"
echo "3、命令3"
echo "------------------------"
echo "請輸入要執行的菜單命令(1/2/3):"
read com
case $com in
1)
命令1
;;
2)
命令2
;;
3)
命令3
;;
*)
echo "輸入命令錯誤"
;;

Ⅳ 1.linux系統下shell腳本用case語句編寫四則運算 2.linux系統下shell腳本輸入數字串。進行反序輸出

原來我.shell寫的侍耐桐畝孝計算器:
[root@liuxiting testdir]# cat calculator.sh
#!/bin/bash
echo "usage: 1+3 <Enter> ,q <Enter> is quit"
while [ 1 ]
do
read -p "->>" str 1>>/dev/null
a=`echo $str |awk -F '+|-|*|/' '{print $1}'`
if [ $a == q ]
then
break
fi
b=`echo $str |awk -F '+|-|*|/' '{print $2}'`
o=`echo $str |grep -o "[[:punct:]]" | grep -v "\."`
case $o in
+) awk 'BEGIN{printf " =%.2f\n",'$a'+'$b'}';;
-) awk 'BEGIN{printf " =%.2f\n",'$a'-'$b'}';;
\*) awk 'BEGIN{printf " =%.2f\n",'$a'*'$b'}';;
/)if [ $b -eq 0 ]
then
echo 0 Can NOT be denominator!
continue
fi
awk 'BEGIN{printf " =%.2f\n",'$a'/'$b'}';;
#^) awk 'BEGIN{printf " =%.2f\n",'$a'**'$b'}';;
*) echo error;;
esac
done

剛剛寫的老坦倒序輸出:
[root@liuxiting testdir]# cat XuShuChu.sh
#!/bin/bash
echo "usage: 123456 <Enter>, q <Enter> is quit"
while [ 1 ]
do
echo -n "Pleasw enter number : "
read n
if [ $n == 'q' ]
then
break
fi
sd=0
rev=""
on=$n
echo "$n"
while [ $n -gt 0 ]
do
sd=$(( $n % 10 )) # get Remainder
n=$(( $n / 10 )) # get next digit
rev=$( echo $rev$sd)
done
echo "$on in a reverse order $rev"
done

Ⅵ 學linux必須學shell么

當然了 shell是你的好幫手
你使用的好就事半功倍,被人一天的活,你一個小時就可以搞定。不用重復勞作。
SHELL腳本的編寫《 Linux就該這么學》第4章節有詳細介紹,可以拿來參考。

閱讀全文

與linuxshellcase相關的資料

熱點內容
手機建立文件夾用什麼軟體 瀏覽:723
oss壓縮上傳 瀏覽:974
藍色學校網站源碼 瀏覽:823
androidgridview表格 瀏覽:604
壓縮怎麼eq閃 瀏覽:740
流密碼演算法openssl 瀏覽:262
怎麼數黃豆個數python 瀏覽:799
混沌序列加密的結論 瀏覽:224
最新脫單app哪個好 瀏覽:638
如何用自己電腦做伺服器做網頁 瀏覽:140
伺服器安全配置要考什麼證書 瀏覽:633
ipadpro可以編程 瀏覽:541
外國的程序員和中國的程序員 瀏覽:151
抖音小店app如何聯系客服 瀏覽:975
linux打開多個終端 瀏覽:500
linux中的命令 瀏覽:580
優化小米6相機演算法 瀏覽:259
ak47pdf 瀏覽:150
人與文化pdf 瀏覽:642
原子幣app在哪裡注冊的 瀏覽:530