我使用if / else语句时,一个简单的脚本receiveing错误。
编码:
#!/bin/sh
count=100
if [$count > 3]; then
echo "Test IF"
fi
错误:/ bin中/灰:行6:[100:未找到
我使用if / else语句时,一个简单的脚本receiveing错误。
编码:
#!/bin/sh
count=100
if [$count > 3]; then
echo "Test IF"
fi
错误:/ bin中/灰:行6:[100:未找到
#!/bin/sh
count=100;
if [ "$count" -gt 3 ]; then
echo "Test IF";
fi
纠正你的语法:空格必须使用周围[
和]
,参数扩展必须被引用,并-gt
适合的内部数字比较[ ]
>
在SH被用作重定向操作; 如果你想在算术比较中使用它,你必须使用的唯一的bash语法
$(( $count > 3 ))
if语句在外壳使用命令[。 由于[是一个命令(您也可以使用“测试”),它需要编写测试条件之前的空间。 要查看条件的列表,键入:人测试
你会在手册页看到:
s1 > s2
的测试,如果串S1是字符串s2后
n1 gt n2
测试如果整数n1为大于n 2
在你的情况下,使用>将工作,因为串100串来后3,但它更符合逻辑写
if [ $count -gt 3 ]; then
echo "test if"
fi
#!/bin/sh
if [ $var -eq 12 ]; then
echo "This is a numeric comparison if example"
fi
if [ "$var" = "12" ]; then
echo "This is a string if comparison example"
fi
if [[ "$var" = *12* ]]; then
echo "This is a string regular expression if comparison example"
fi
这也将这样做!
#!/bin/sh
count=100
if [ $count -gt 3 ];
then
echo "Test IF"
fi