linux100day(day6)--shell脚本简单逻辑
if語句:
if條件語句的使用格式:
1、單分支語句
if 條件;then
執行語句
fi
2、雙分支語句
if 條件;then
執行語句1
else
執行語句2
fi
3、多分支語句
if 條件;then
執行語句1
elif;then
執行語句2
elif;then
執行語句3
else
執行語句4
fi
在某些條件判斷下,如果不滿足該條件,我們必須手動退出程序,否則后面的代碼無法執行;
代碼正確執行完成后,我們制定 exit 0 為正確退出碼;
判斷某個文件是否存在
#!/bin/bash # 判斷文件是否存在 if [ $# -lt 1 ]; thenecho "At least one argument." exit 1 fi if [ -e $1 ];thenecho "存在" elseecho "不存在" if判斷當前系統上是否有用戶的默認shell程序是否為bash程序,如果有,就顯示有多少個這類用戶,否則就顯示沒有這類用戶;【并且顯示出那些用戶是bash】
#!/bin/bash # 判斷用戶的默認shell程序類型declare -i sum=`grep "bin/bash$" /etc/passwd | wc -l`if grep "/bin/bash$" /etc/passwd &> /dev/null ; thenecho "存在 $sum 個用戶,shell程序為/bin/bash"grep "/bin/bash$" /etc/passwd | cut -d: -f1exit 0 elseecho "沒有這類用戶"exit 1 fi?
寫出一個腳本程序,給定一個文件,比如:/etc/inittab a、判斷這個文件中是否有空白行? b、如果有,則顯示其空白行的行號,否則顯示沒有空白行
提示,空白行使用^[[:space:]]*$
?
給定一個文件,如果是普通文件,就顯示出來,如果是目錄文件,也顯示出來,否則就顯示“無法識別”
#!/bin/bash # # input() read -t 5 -p ("請輸入一個文件:") filename // -t 等待時間 echo # 默認用來換行if [ -n $filename ];thenecho "eg. /etc/fstab"exit 8 fiif [ -f $filename ]; thenecho "$filename 是一個普通文件"exit 0 elif [ -d $filename ];thenecho "$filename 是一個目錄文件"exit 0 elseecho "無法識別"exit 1 fi?for語句
for語句格式:
for 變量 in 列表;do
循環體
done
case語句
case分支格式
case 變量 in
PAT1)
執行語句
;;
PAT2)
執行語句
;;
*)
默認執行語句
;;
esac
while 循環
格式:
定義初始值
while 條件判斷 ; do
循環體
值變化語句
done
break 跳出循環
continue 跳出本次循環
sleep 延長多長時間后,繼續向下執行命令
until
循環 與 while 用法相同
區別:只有 判斷條件為 False 的時候,才會進入循環語句;
1到100的偶數和
#!/bin/bash # 偶數和 declare -i sum=0 for i in $(seq 0 2 100);dolet sum+=$i done echo “總數為:$sum”?
轉載于:https://www.cnblogs.com/Y139147/p/11412748.html
總結
以上是生活随笔為你收集整理的linux100day(day6)--shell脚本简单逻辑的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 组建内存双通道的条件
- 下一篇: Flex builder3与eclips