shell script 練習

  1. 以 read 指令讀入一串數字,使用命令 sed 將數字中間的空白取代成加號 "+",再管線命令用 bc 計算這算術式的結果。
    [dywang@dywmac zzz]$ cat sh03.sh
    #!/bin/bash
    read -p "請輸入一串數字: " -t 5 num
    num=$(echo "$num" | sed 's/ /+/g')
    total=$(echo "$num" | bc)
    echo $num=$total
    exit 0
    
  2. 執行結果,輸入四筆或三筆數字都成功計算總和並輸出。
    [dywang@dywmac zzz]$ sh sh03.sh 
    請輸入一串數字: 12 34 2 4
    12+34+2+4=52
    [dywang@dywmac zzz]$ sh sh03.sh 
    請輸入一串數字: 1 3 5 7
    1+3+5+7=16
    
  3. 執行結果,沒輸入時等號兩邊的變數都是空字串。
    [dywang@dywmac zzz]$ sh sh03.sh 
    請輸入一串數字: =
    
  4. 利用變數設定 {num:-expr},當 num 沒設定或空字串時,num 變數就設成 expr,以避免使用者沒輸入的狀況。
    [dywang@dywmac zzz]$ cat sh03.sh
    #!/bin/bash
    read -p "請輸入一串數字: " -t 5 num
    
    num=${num:-"1 2 3 4 5 6 7 8 9"}
    num=$(echo "$num" | sed 's/ /+/g')
    total=$(echo "$num" | bc)
    echo $num=$total
    exit 0
    
  5. 執行結果,沒輸入時自動加總 1 到 9 等於 45。
    [dywang@dywmac zzz]$ sh sh03.sh 
    請輸入一串數字: 1+2+3+4+5+6+7+8+9=45