書-Linux命令行與shell腳本編程大全(第3版)

image

▲getopt-指令

▽getopts-指令

▲選項標準化

▽shell-輸入

shell-輸入超時

shell-隱藏輸入

▲shell-用read讀取文件

 

getopt-指令

處理命令行與參數的工具,就是在設定輸入指令的格式。

image

image

ab:cd :定義的選項,沒有定義不能用,':'號就代表有帶參數的選項。

輸出時會把-cd分開,後面加上破折號代表後面的都是參數。

image

沒有定義e所以錯誤。

image

在前面加上 -q 可以忽略錯誤。

接下來放進shell裡,使用set加上雙破折號,這個意思就是會把輸入的選項參數傳給getopt。

image

image

不過有一個缺點就是getopt不太能用在有空格和引號的地方,還有一個可以用就是getopts。

image

 

getopts-指令

跟getopt差不多,選項要有參數加上冒號,錯誤不要顯示在optstring前加上冒號,唯一不同的就是getopts可以用在while,每次只讀取一個參數,全部讀完會返回一個大於0的狀態碼。

image

OPTARG是getopts內建的參數,因為是用迭代的關係,所以不用跳出迴圈,跑完之後就會自動離開,到了下面會把前面的參數都shift掉。

image

image

選項標準化

大部分字母選項都有自己默認意思,如果可以沿用就可以讓程式更友善。

image

shell-輸入

就像python的input。

這是最基本的用法,-n就代表不換行。

image

image

也可以直接在read加上-p。

image

image

如果read沒有設定參數可以用$REPLY會保存輸入的值。

image

shell-輸入超時

就是在一定的時間內沒有輸入就跳出。

-t 5 就是5秒內沒有輸入回傳非0的狀態碼。

image

image

也可以用參數'-n'只要輸入n個數字就會自動跳出,後面的數字是要輸入的數字量(n1、n2...)。

image

image

shell-隱藏輸入

參數-s,就像輸入密碼不會顯示一樣。

image

image

shell-用read讀取文件

image

image

 

arrow
arrow
    創作者介紹
    創作者 讀書小天地 的頭像
    讀書小天地

    書籍分享天地

    讀書小天地 發表在 痞客邦 留言(0) 人氣()