0
我是初學者在csh/tcsh中編寫腳本,所以這就是爲什麼我需要你幫忙。我必須找出腳本的參數是否在stdin上正確寫入。 我有例如所謂的「first_script」必須有參數以這種形式有些腳本: first_script -d(這是我的問題)--->如何找出來,如果有編號(整數 - 不僅是數字)在-d參數後? 非常感謝您的幫助。找不到參數是一個整數
我是初學者在csh/tcsh中編寫腳本,所以這就是爲什麼我需要你幫忙。我必須找出腳本的參數是否在stdin上正確寫入。 我有例如所謂的「first_script」必須有參數以這種形式有些腳本: first_script -d(這是我的問題)--->如何找出來,如果有編號(整數 - 不僅是數字)在-d參數後? 非常感謝您的幫助。找不到參數是一個整數
進程只能傳遞字符串作爲參數,所以你會得到的將是一個字符串。這取決於你需要的值(例如整數)。
在你的情況,我認爲檢查給定的字符串是否只包含數字將解決您的問題。有很多方法可以做這個檢查,但這裏是我的最愛:
if ("$1" == "-d") then
expr "$2" : '[0-9]*$' > /dev/null && echo "We have a number" || echo "We have a non-number"
endif
非常感謝你的人,你救了我很多時間:)有一個愉快的一天 – user2919185
您可以使用'getopts'來做到這一點。檢查這個很好的答案,看看一個例子 - > http://stackoverflow.com/a/14203146/1983854 – fedorqui