需要小解釋:爲什麼這樣做不起作用?檢查傳遞的參數是否等於bash腳本中的字符串
#!/bin/bash
ker=$1
if [ "$ker" != "iso" ] || [ "$ker" != "om" ] || [ "$ker" != "constbeta" ] ; then
printf " allowed kernels: iso, om, constbeta \n"
exit
fi
wait
echo 'anisotropy kernel: ', "$ker"
我也曾嘗試
#!/bin/bash
ker="$1"
if [ $ker != "iso" ] || [ $ker != "om" ] || [ $ker != "constbeta" ] ; then
printf " allowed kernels: iso, om, constbeta \n"
exit
fi
wait
echo 'anisotropy kernel: ', "$ker"
我這樣稱呼它:$ ./script.sh iso
,我甚至已經試過這樣的(雖然我認爲這並沒有什麼意義與上面的 腳本):$ ./script.sh "iso"
我總是得到allowed kernels: iso, om, constbeta
非常感謝那些可以發現錯誤的人。
我明白了。謝謝你們倆。 ps:你的第二個建議不起作用,但是我會想到我們的 – andrea
@andrea - Varsågod,這就是我們在這裏所做的。 :)第二個建議做什麼而不是工作?你有錯誤嗎? – ghoti
不,它的工作原理。它只是不按我想的方式工作(即相反)。我仍然需要學習bash格式化語法,我只是從來沒有時間。 taksåmycket! – andrea