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