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

sh/bash/dash/ksh/zsh等Shell脚本
回复
飘叶
帖子: 30
注册时间: 2008-01-09 5:01

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

#1

帖子 飘叶 » 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'
谢谢回答
头像
cocomama
帖子: 869
注册时间: 2007-04-05 17:57
来自: 吉林──>海南──>大连──>延边──>北京──>德黑兰──>(x,y)

#2

帖子 cocomama » 2008-03-02 23:33

保存成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:~$

结论:
没出错误啊!!!
沒有人成全我的今天
亦没有人阻挡我的明天
输掉一个现在
我要赢得一个未来!

如果输了今生那么我也不要来世!

坐而論道,不如起而行動!

海至尽头天是岸 山到高处人为峰!
飘叶
帖子: 30
注册时间: 2008-01-09 5:01

#3

帖子 飘叶 » 2008-03-03 18:52

嗯 应该这样运行
我刚是 sh shell7 这样运行的 呵呵
这样运行是不是不行?
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
联系:

#4

帖子 BigSnake.NET » 2008-03-03 20:21

用 bash 运行, sh是不行的
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
飘叶
帖子: 30
注册时间: 2008-01-09 5:01

#5

帖子 飘叶 » 2008-03-03 21:22

有什么特别的要求吗?
头像
patrickhe
帖子: 681
注册时间: 2005-07-21 19:13
来自: Peking, China
联系:

#6

帖子 patrickhe » 2008-03-04 1:31

飘叶 写了:有什么特别的要求吗?
Ubuntu 默认使用 dash。如果想默认使用 bash,重新建立软链接把 /bin/sh 指向 /bin/bash。
飘叶
帖子: 30
注册时间: 2008-01-09 5:01

#7

帖子 飘叶 » 2008-03-04 16:51

谢谢....
weigege
帖子: 19
注册时间: 2008-02-22 22:07

#8

帖子 weigege » 2008-03-06 23:27

一、应该是=,而不是==吧
二、判断为空字符串可以用 [ -z $1]
头像
iblicf
帖子: 3766
注册时间: 2007-01-15 17:15

#9

帖子 iblicf » 2008-03-06 23:36

weigege 写了:一、应该是=,而不是==吧
二、判断为空字符串可以用 [ -z $1]
so
回复