[问题]求助,如下错误提示是什么意思?

sh/bash/dash/ksh/zsh等Shell脚本
回复
newlinux
帖子: 14
注册时间: 2008-01-17 11:14

[问题]求助,如下错误提示是什么意思?

#1

帖子 newlinux » 2008-01-22 9:49

错误提示:
sh06-2.sh: 2: Program:: not found

[: 15: ==: unexpected operator
[: 15: ==: unexpected operator
[: 21: missing ]
[: 21: ==: unexpected operator


源程序如下:
#!/bin/bash
Program:
# This program will show the user's choice
# History:
# 2008/1/22 liukai First release
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH

#Program body
read -p "please input (Y/N): " yn

if [ "$yn" == "Y" ] || [ "$yn" == "y" ]; then
echo "OK,continue"
exit 0
fi

if [ "$yn" == "N"] || [ "$yn" == "n" ]; then

echo "OK,continue"
exit 0
fi

echo "I don't know what is your choise" && exit 0
头像
patrickhe
帖子: 681
注册时间: 2005-07-21 19:13
来自: Peking, China
联系:

#2

帖子 patrickhe » 2008-01-22 11:57

#!/bin/bash
# This program will show the user's choice
# History:
# 2008/1/22 liukai First release

#Program body
read -p "please input (Y/N): " yn

if [ "$yn" == "Y" -o "$yn" == "y" ]; then
echo "Yes"
exit 0
fi

if [ "$yn" == "N" -o "$yn" == "n" ]; then
echo "No"
exit 0
fi

或者

#!/bin/bash
# This program will show the user's choice
# History:
# 2008/1/22 liukai First release

#Program body
read -p "please input (Y/N): " yn

if [[ "$yn" == "Y" || "$yn" == "y" ]]; then
echo "Yes"
exit 0
fi

if [[ "$yn" == "N" || "$yn" == "n" ]]; then
echo "No"
exit 0
fi
newlinux
帖子: 14
注册时间: 2008-01-17 11:14

[问题]求助,如下错误提示是什么意思?

#3

帖子 newlinux » 2008-01-24 20:48

感谢 二楼回复!
我把你的两个脚本在我机子上运行,还是有如下错误,不知是那儿出了错!


+ read -p please input (Y/N): yn
please input (Y/N): y
+ [ y == Y -o y == y ]
[: 1: ==: unexpected operator
+ [ y == N -o y == n ]
[: 1: ==: unexpected operator
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

#4

帖子 eexpress » 2008-01-24 20:56

"$yn"
改${yn}
没看你内容。慢慢man
● 鸣学
头像
laborer
帖子: 1016
注册时间: 2005-10-25 11:15
联系:

Re: [问题]求助,如下错误提示是什么意思?

#5

帖子 laborer » 2008-01-25 3:04

newlinux 写了:感谢 二楼回复!
我把你的两个脚本在我机子上运行,还是有如下错误,不知是那儿出了错!


+ read -p please input (Y/N): yn
please input (Y/N): y
+ [ y == Y -o y == y ]
[: 1: ==: unexpected operator
+ [ y == N -o y == n ]
[: 1: ==: unexpected operator
你机器可能用的是dash而不是bash
hreiser@oakland:~$ killall -9 wife
police@oakland:~$ sudo find / -user hreiser
court@oakland:~$ sudo mv /home/hreiser /jail/
court@oakland:~$ sudo usermod -d /jail/hreiser -s "/usr/sbin/chroot /jail/" hreiser
newlinux
帖子: 14
注册时间: 2008-01-17 11:14

怎么查看当前用的是那个shell 平台呀?

#6

帖子 newlinux » 2008-01-25 9:21

我装的是ubuntu7.10,刚接触shell,还望指点 :oops:
头像
patrickhe
帖子: 681
注册时间: 2005-07-21 19:13
来自: Peking, China
联系:

#7

帖子 patrickhe » 2008-01-25 9:37

执行
echo $SHELL
看一下自己用的到底是那个 shell。
我用的是 bash。
newlinux
帖子: 14
注册时间: 2008-01-17 11:14

我用的也是bash呀

#8

帖子 newlinux » 2008-01-25 16:36

我执行的结果是这个,我用的也是bash呀
echo $SHELL
/bin/bash
回复