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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux 学习笔记_10_Shell编程_2_Shell编程语法(三)

發布時間:2025/3/20 linux 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux 学习笔记_10_Shell编程_2_Shell编程语法(三) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
三、select/in 【用的相對來說比較少】
格式: select 變量 in 關鍵字?
do?
command 1?
... ...?
command n?
done?
select把關鍵字中的每一項做成類似表單,以交互的方式執行do和done之間的命令。
【示例】
? #!/bin/bash?
? # A test for select?
echo "What's your favorite OS?"?
echo?
select name in "UNIX" "Linux" "Windows" "Others"?
do?
? break?
done?
echo "Your select is $name"?


四、case/esac
格式: case 變量 in?
字符串1)?
命令列表1?
;;?
...?
字符串n)?
命令列表n?
;;?
esac?


五、while
格式: while 條件?
do?
命令?
done?
【無限:whill true】
【示例】
#! /bin/sh?
num=1?
while [ $num -le 10 ]?
do?
SUM=`expr $num \* $num`?
echo $SUM?
num=`expr $num + 1`?
done?


六、untill
格式: until 條件?
do?
命令?
done?
until類似while循環,不同的是until是條件返回值為假時才繼續執行。
【示例】
#!/bin/bash?
# A test for until?
until [ -x /etc/inittab ]?
do?
ls -l /etc/inittab?
exit 0?
done?


七、跳出循環:break和continue?
break:跳出整個循環?
continue:跳過本次循環,進行下次循環


八、shift
參數左移,每執行一次,參數序列順次左移一個位置,$#的值減1, 用于分別處理每個參數,移出去的參數不再可用
【示例】
#! /bin/sh?
if [ $# -le 0 ]?
then?
echo "Not enough parameters"?
exit 0?
fi?
sum=0?
while [ $# -gt 0 ]?
do?
sum=`expr $sum + $1`?
shift?
done?
echo $sum?


函數應用

一、函數的定義:?
函數名 ()?
{?
命令序列?
}?


二、函數的調用:不帶()?
函數名 參數1 參數2 ...?


三、函數中的變量:?
變量均為全局變量,沒有局部變量


四、函數中的參數:
調用函數時,可以傳遞參數,在函 數中用$1、$2...來引用?
Shell 腳本調試?
sh -x script 這將執行該腳本并顯示所有變量的值。?
sh -n script 不執行腳本只是檢查語法的模式,將返回 所有語法錯誤。?
【命令最好使用絕對路徑!】


【不用交互方式添加用戶】
useradd mery
echo 123456 | passwd --stdin mery


【執行腳本所需要的權限】
1、該腳本擁有r權限 【不給x權限可以用sh執行】 2、對腳本所在目錄有rx權限

轉載于:https://blog.51cto.com/zhujifang/1380182

總結

以上是生活随笔為你收集整理的Linux 学习笔记_10_Shell编程_2_Shell编程语法(三)的全部內容,希望文章能夠幫你解決所遇到的問題。

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