分页: 1 / 1

[问题] script 新手的问题 谢谢

发表于 : 2008-03-02 23:18
飘叶
一个程序如下
#!/bin/bash
if [ "$1" == "hello" ]; then
echo "Hello, how are you ?"
elif [ "$1" == "" ]; then
echo "You MUST input parameters, ex> $0 someword"
else
echo "The only parameter is 'hello'"
fi

可是运行会出现下列错误..
[: 14: ==: unexpected operator
[: 14: ==: unexpected operator
The only parameter is 'hello'
谢谢回答

发表于 : 2008-03-02 23:33
cocomama
保存成hello

测试:

lym@lym-laptop:~$ chmod 755 hello
lym@lym-laptop:~$ ./hello lym
The only parameter is 'hello'
lym@lym-laptop:~$ ./hello
You MUST input parameters, ex> ./hello someword
lym@lym-laptop:~$ ./hello hello
Hello, how are you ?
lym@lym-laptop:~$

结论:
没出错误啊!!!

发表于 : 2008-03-03 18:52
飘叶
嗯 应该这样运行
我刚是 sh shell7 这样运行的 呵呵
这样运行是不是不行?

发表于 : 2008-03-03 20:21
BigSnake.NET
用 bash 运行, sh是不行的

发表于 : 2008-03-03 21:22
飘叶
有什么特别的要求吗?

发表于 : 2008-03-04 1:31
patrickhe
飘叶 写了:有什么特别的要求吗?
Ubuntu 默认使用 dash。如果想默认使用 bash,重新建立软链接把 /bin/sh 指向 /bin/bash。

发表于 : 2008-03-04 16:51
飘叶
谢谢....

发表于 : 2008-03-06 23:27
weigege
一、应该是=,而不是==吧
二、判断为空字符串可以用 [ -z $1]

发表于 : 2008-03-06 23:36
iblicf
weigege 写了:一、应该是=,而不是==吧
二、判断为空字符串可以用 [ -z $1]
so