QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 609|回复: 4

请大家指教一个简单的SHELL程序。

[复制链接]
发表于 2003-6-2 19:11:39 | 显示全部楼层 |阅读模式
# ! /bin/sh

read a

if [ "$a"="yes" ]
  then  
    echo "hello"
else
    echo "hi"

exit 0

不管我输入什么样的值,都出的是hello ,好象条件并没有被判断, 但$a的值还是我输入的值.
发表于 2003-6-2 21:22:06 | 显示全部楼层
大概少写了几个字:
1) shebang should be: #!/usr/bin/sh
or using "which sh"  to get sh execute path if different

2) [ 和"$a"间要有一空格,] 也一样

3) 忘了"fi" 结束if condition


[code:1]
#!/usr/bin/sh

read a

if [ "$a" = "yes" ]
then
echo "hello"
else
echo "hi"
fi

[/code:1]
回复

使用道具 举报

 楼主| 发表于 2003-6-2 22:07:01 | 显示全部楼层
oh  SORRY 我忘记了 fi, 但是实际过程中是有 fi的,且[] 也有空格,要不就会出错的。但是其它的程序调试时我也是用的/bin/sh也都可以正常运行呀?有区别吗?请赐教~
回复

使用道具 举报

发表于 2003-6-3 02:41:22 | 显示全部楼层
运行上述程序:
$test.sh
yes
hello
$test.sh
me
hi
应该是工作的.
回复

使用道具 举报

发表于 2003-6-3 10:39:02 | 显示全部楼层
应该是 if [ "$a"=="yes" ]; 或者 if [ "$a" -eq "yes" ];
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-15 18:52 , Processed in 0.073814 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表