Linux之Shell脚本的条件判断和函数
一、條件判斷
1.if判斷
(1)基本語法
if [ 條件判斷式 ] then程序 fi注意事項(xiàng):
1.[ 條件判斷式 ]中括號(hào)和條件判斷式之間必須有空格
2.if后要有空格
(2)實(shí)操
輸入一個(gè)數(shù)字,如果是1,則輸出java,如果是2,則輸出python,如果是其它,則輸出linux
#!/bin/bash ? if [ $1 -eq 1 ] thenecho "java" elif [ $1 -eq 2 ] thenecho "python" elseecho "linux" fi2.case語句
(1)基本語法
case $變量名 in"值1")程序1;;"值2")程序2;;*)程序3;;esac注意事項(xiàng):
1.case行尾必須為單詞"in",每一個(gè)模式匹配都必須以右括號(hào)")"結(jié)束
2.雙分號(hào)";;"表示命令序列結(jié)束,相當(dāng)于java的break
3.最后的" *) "表示默認(rèn)模式,相當(dāng)于java的default
(2)實(shí)操
輸入一個(gè)數(shù)字,如果是1,則輸出java,如果是2,則輸出linux,如果是其它,則輸出C++
#!/bin/bash ? case $1 in 1)echo "java" ;; 2)echo "linux" ;; *)echo "C++" ;; esac3.for循環(huán)
(1)基本語法1
for((初始值;循環(huán)控制條件;變量變化)) do程序 done(2)實(shí)操1
從1加到100
#!/bin/bash ? s=0; for((i=1;i<=100;i++)) dos=$[$s+$i] done ? echo $s(3)基本語法2
for 變量 in 值1 值2 值3... do程序 done(4)實(shí)操2
#!/bin/bash ? for i in $* doecho "parameter: ${i}" done4.while循環(huán)
(1)基本語法
while [ 條件判斷式 ] do程序 done(2)案例
輸出一個(gè)數(shù)字,從1加到100
#!/bin/bash ? s=0; i=1; while [ $i -le 100 ] dos=$[$s+$i];i=$[$i+1]; done ? echo $s二、read讀取控制臺(tái)輸入
1.基本語法
read(選項(xiàng))(參數(shù)) 選項(xiàng):-p:指定讀取值時(shí)的提示符-t:指定讀取值時(shí)等待的時(shí)間(秒) 參數(shù):變量:指定讀取值的變量名2.實(shí)操
提示7秒內(nèi),讀取控制臺(tái)輸入的名稱
#!/bin/bash ? read -t 7 -p "please input your name in 7 seconds: " NAME ? echo $NAME三、函數(shù)
1.系統(tǒng)函數(shù)
(1)basename基本語法
basename命令會(huì)刪掉所有的前綴包括最后一個(gè)'/'字符,然后將字符串顯示出來
basename [string/pathname] [suffix](2)實(shí)操
截取/home/depo/shell/read.sh路徑的文件名稱
[depo@dev shell]$ basename /home/depo/shell/read.sh read.sh(3)dirname基本語法
從給定的包含絕對(duì)路徑的文件名中去除文件名,然后返回剩下的路徑
dirname 文件絕對(duì)路徑(4)實(shí)操
獲取read.sh文件的路徑
[depo@dev shell]$ dirname /home/depo/shell/read.sh /home/depo/shell2.自定義函數(shù)
(1)基本語法
[ function ] funname[()] {Action;[return int;] } ? funname注意:
1.必須在調(diào)用函數(shù)地方之前,先聲明函數(shù),shell腳本是逐行運(yùn)行。不會(huì)像其它語言一樣一樣先編譯
2.函數(shù)返回值,只能通過$?系統(tǒng)變量獲得,可以顯示加return返回,如果不加,將以最后一條命令運(yùn)行結(jié)果,作為返回值。return后跟數(shù)組(0-255)
(2)實(shí)操
計(jì)算兩個(gè)輸入?yún)?shù)的和
#!/bin/bash ? function sum() {s=0;s=$[$1+$2];echo $s } ? read -p "input your parameter1: " p1 read -p "input your parameter2: " p2 ? sum $p1 $p2?
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的Linux之Shell脚本的条件判断和函数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux之Shell脚本入门
- 下一篇: Docker之tomcat和nginx的