日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

shell之case和function

發布時間:2025/3/15 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 shell之case和function 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
case是一種判斷的性質,當變量數量確定,用case是一個很好的表現方式。case常見最多的就就是服務的啟動腳本了,通過第一個參數來進行確定。 case $變量名稱 in
? "參數內容")? \\?例如? ?"y"|"Y")
???? 命令集合
???? ;;
? "參數內容")
???? 命令集合
???? ;;
? *)??????????????? \\代表其他
???? 命令集合
???? ;;
esac /path/to/script? patten1 patten2
??????????????????? $1???? $2
$1 $2 代表腳本執行時后面輸入的第一個參數
$# 代表參數的個數
$@? 將參數輸出 函數在shell腳本中的作用就是將操作重復的命令統一集合起來,便于管理、執行。
?? function?? fun_name() {
?????????? 命令集
?? }
??
?例子:這個是在linux系統的服務腳本中截取的部分,用作理解,
check() {
??????? # Check that we're a privileged user
??????? [ `id -u` = 0 ] || exit 4 # Check if acpid is executable
??????? test -x /usr/sbin/acpid || exit 5
} start() { check # Check for kernel support
??????? [ -f /proc/acpi/event ] || exit 1 echo -n $"Starting acpi daemon: "
??????? daemon /usr/sbin/acpid
??????? RETVAL=$?
??????? [ $RETVAL -eq 0 ] && touch /var/lock/subsys/acpid
??????? echo
??????? return $RETVAL
} stop() { check echo -n $"Stopping acpi daemon: "
??????? killproc /usr/sbin/acpid
??????? RETVAL=$?
??????? [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/acpid
??????? echo
??? return $RETVAL
} restart() {
??????? stop
??????? start
}
reload() { check trap "" SIGHUP
??????? action $"Reloading acpi daemon:" killall -HUP acpid
??????? RETVAL=$?
??????? return $RETVAL
}
case "$1" in
start)
??????? start
??????? ;;
stop)
??????? stop
??????? ;;
reload)
??????? reload
??????? ;;
force-reload)
??????? restart
??????? ;;
restart)
??????? restart
??????? ;;
condrestart)
??????? if [ -f /var/lock/subsys/acpid ]; then
??????????? restart
??????? fi
??????? ;;
status)
??????? status acpid
??????? RETVAL=$?
??????? ;;
*)
??????? echo $"Usage: $0 {start|stop|status|restart|condrestart|reload|force-reload}"
??????? RETVAL=2
esac
說明:
? 創建了check\start\stop\restart\reload的函數,每個函數下面都有各自的命令集合,后面每個符合case選項的每執行一次函數就相當于執行函數內部的命。簡化了腳本的結構。

轉載于:https://blog.51cto.com/bensonzy/605102

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的shell之case和function的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。