Searching for a substring in a bash script will not work
我写了一个bash脚本来调用我的.bashrc文件来打印whatis在my/usr/bin文件夹中的随机命令的结果,并希望排除返回结果中"不适当"的命令,即使我使用grep、wc、expr、==,也没有任何效果。在这里和这里,我几乎使用了所有的例子,但是没有任何进展。这是我迄今为止所拥有的,但当它发现某个包含"不适当"的东西时,却没有做我想要做的事情。如果有人能弄明白如何使它工作,或者在这种情况下,一个好的解决方案是什么,我会非常高兴。
1 2 3 4 5 6 7 8 9 10 11 12 | #! /bin/bash echo"Did you know that:"; while : do RESULT=$(whatis $(ls /usr/bin | shuf -n 1)) if [[ $RESULT != *"nothing appropriate"* ]] then echo $RESULT break fi done |
这是一种方式来修复它。 </P >
1 2 3 4 5 6 7 8 9 10 11 12 | #! /bin/bash echo"Did you know that:"; while : do RESULT=$(whatis $(ls /usr/bin | shuf -n 1) 2>&1 | cat - ) if [[ $RESULT != *"nothing appropriate"* ]] then echo $RESULT break fi done |
在