網頁

2013年3月2日 星期六

接收用戶輸入指令read

read指令
  • read [[option]parameter] name
    • 常用選項
      • a:將輸入的文本按字段放入數組中(default的分隔符為空格或制表符tab)
      • d:指定結束符,當輸入中出現指定的結束符時,read命令將認為專入已經結束(default的結束符以enter)
      • e:從標凖輸入取時,使用Readline庫獲取輸入(此時用戶可以使退格鍵、方向箭簡單的行編輯操作)
      • n:指定讀取的字符數n,也就是輸入與輸出之間不斷行。
      • p:字符串輸出到標准錯誤,並讀取輸入
      • r:將讀取到的字符串按字段放到不同的變量中
      • s:先鎖住屏幕,然后再從標准輸入中讀取字符;就像是輸入 password的模式。
      • t:指定時間內要輸入完成,不然就結束讀取狀態
      • u:從指定的文件描述符中讀取。
    • 範例
      • echo -n "Please enter your name:";read NAME;echo "Hello $NAME";
      • echo -n "Please enter your friend's name:";read -a NAME;echo "Your friends:${NAME[*]}"
        • Please enter your friend's name: GM Eva Edmund
        • Your friends: GM Eva Edmund
      • echo -n "Please enter your name:";read -d "$" NAME; echo "Hello $NAME"!
      • echo -n "Please enter your message:"; read -e MESS;echo "your message is : $MESS";
      • echo -n "Please enter the four string:";read -r V1 V2 V3 V4;echo -e "first:$V1\nsecond:$V2\nthird:$V3\nfourth:$V4"
      • 如果字段分隔符不是空格,可以通過修改變量IFS的方法重新設置分隔符。下例設定新的分隔符為#,並接收用戶的輸入
        • IFS="#";echo -n "Please enter the four variables:" ;read -r V1 V2 V3 V4;echo -e "first:$V1\nsecond:$V2\nthird:$V3\nfourth:$V4";
          • 注意在修改分隔符時要注意把原的的分隔符保留下來,然後在你的程式執行完後,要把分隔符修改回去。



沒有留言:

張貼留言