为什么第三个命令仍然会产生输出?
我使用这个文件:/usr/share/doc/opencv-doc/examples/c/build_all.sh 来构建opencv软件包的c语言示例,但是遇到了类似的错误。
$cat sh.sh
#!/bin/sh
echo $#
if [ $# > 0 ] ; then
base=`basename $1 .c`
echo $base
fi
$ sh sh.sh a.c
1
a
$ sh sh.sh
0
.c
我使用这个文件:/usr/share/doc/opencv-doc/examples/c/build_all.sh 来构建opencv软件包的c语言示例,但是遇到了类似的错误。
#!/bin/sh
,那你并没有真正使用Bash。如果你想要使用>
和双括号,就像codaddict提到的那样,那么你需要写上#!/bin/bash
。然后你可以这样写:if (( $# > ))
。 - undefined