作者 主題: 讀入數字序列script 問題  (閱讀 548 次)

0 會員 與 1 訪客 正在閱讀本文。

jjchiou

  • 懷疑的國中生
  • **
  • 文章數: 62
    • 檢視個人資料
讀入數字序列script 問題
« 於: 2018-03-19 15:57 »
想要練習迴圈,想說要在先寫入數字序列,然後依序顯示數列的數字,請問寫錯哪裡?

#!/bin/sh

# allargs.sh - 憿舐內?<80>????疇?

echo "write the order number array for display"
read arg
for $arg ;do
    echo "$arg"
    shift
done

dark

  • 俺是博士!
  • *****
  • 文章數: 1545
    • 檢視個人資料
Re: 讀入數字序列script 問題
« 回覆 #1 於: 2018-03-20 09:32 »
read 一次讀一行
要多行
while read a ;do
 if [ "$(echo $a | grep "[a-zA-Z]")" != "" ] ; then
  echo "非數字"
  break
 fi
all="$all
$a"
done

引用雙引號 "$all" 就是多行的值


for 的其中一種語法 :
for a in 1 2 3 "4 5" ;do
echo $a
done
以空白 , 斷行 , tab 分隔 ... 反之想用就放引號內


shift 不用在變數
function xxx(){
while [ "$1" != "" ] ;do
echo $1
shift
done
}

xxx 1 2 "3
4" "5 6"