需要小解释:为什么这样做不起作用?检查传递的参数是否等于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