当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 8 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 刚学习shell,有一个脚本,执行时总出错:unexpected operator.
帖子发表于 : 2009-08-21 12:01 

注册: 2008-11-29 17:24
帖子: 10
送出感谢: 0 次
接收感谢: 0 次
系统版本是ubuntu 9.04 desktop.跟着学习鸟哥的私房菜到了shell script那一节,
脚本如下:
#!/bin/bash
# Program:
# This program shows the user's choice
# History:
# 2005/08/25 VBird First release
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH

read -p "Please input (Y/N): " yn
[ "$yn" == "Y" -o "$yn" == "y" ] && echo "OK, continue" && exit 0
[ "$yn" == "N" -o "$yn" == "n" ] && echo "Oh, interrupt!" && exit 0
echo "I don't know what your choice is" && exit 0

执行时总提示错误
root@dustsnow-laptop:~/scripts# sh sh06.sh
Please input (Y/N): y
[: 10: y: unexpected operator
[: 11: y: unexpected operator
I don't know what your choice is

但是在虚拟机的fedora 11系统中却执行正确.

在网上也查找不到解决方法.
有遇到相同问题的么,
先谢过了


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 刚学习shell,有一个脚本,执行时总出错:unexpected operator.
帖子发表于 : 2009-08-21 12:40 
头像

注册: 2006-09-10 8:19
帖子: 508
地址: Shanghai,China
系统: Gentoo/Mac OS X
送出感谢: 0 次
接收感谢: 0 次
注意空格:
[] 前后都需要有空格。
[ "$yn" == "Y" -o "$yn" == "y" ] && echo "OK, continue" && exit 0


_________________
http://pjq.me


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 刚学习shell,有一个脚本,执行时总出错:unexpected operator.
帖子发表于 : 2009-08-21 12:44 

注册: 2008-04-11 23:31
帖子: 185
送出感谢: 0 次
接收感谢: 0 次
sh是 dash的软链接,不是bash的,所以把sh改成bash,
或者直接./sh06.sh

have a try


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 刚学习shell,有一个脚本,执行时总出错:unexpected operator.
帖子发表于 : 2009-08-21 13:04 

注册: 2008-11-29 17:24
帖子: 10
送出感谢: 0 次
接收感谢: 0 次
yuu1010 写道:
sh是 dash的软链接,不是bash的,所以把sh改成bash,
或者直接./sh06.sh

have a try


My god..原来是这个原因.终于解决了.
我都要准备换系统了.
谢谢,非常感谢您.yuu1010
还有谢谢percy的提醒.
:em01


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 刚学习shell,有一个脚本,执行时总出错:unexpected operator.
帖子发表于 : 2009-08-21 13:06 
头像

注册: 2007-03-02 17:36
帖子: 7259
送出感谢: 3
接收感谢: 97
dustsnow 写道:
yuu1010 写道:
sh是 dash的软链接,不是bash的,所以把sh改成bash,
或者直接./sh06.sh

have a try


My god..原来是这个原因.终于解决了.
我都要准备换系统了.
谢谢,非常感谢您.yuu1010
还有谢谢percy的提醒.
:em01

不至于为个shell换系统吧,直接把/bin/sh链接到bash不就好了?


_________________
虽然世上没有完美的东西,但这并不影响我们追求完美,因为只有偏执狂才TMD能成功。
10.04新手入门——笨兔兔讲述自己的故事


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 刚学习shell,有一个脚本,执行时总出错:unexpected operator.
帖子发表于 : 2009-08-21 13:14 

注册: 2008-11-29 17:24
帖子: 10
送出感谢: 0 次
接收感谢: 0 次
懒蜗牛Gentoo 写道:
dustsnow 写道:
yuu1010 写道:
sh是 dash的软链接,不是bash的,所以把sh改成bash,
或者直接./sh06.sh

have a try


My god..原来是这个原因.终于解决了.
我都要准备换系统了.
谢谢,非常感谢您.yuu1010
还有谢谢percy的提醒.
:em01

不至于为个shell换系统吧,直接把/bin/sh链接到bash不就好了?


呵呵,linux新人, :em06 在网上搜了一下,没有找到解决的方法,
也不知道问题出在这里,就萌生了这个念头.
还好现在明白怎么解决了..


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 刚学习shell,有一个脚本,执行时总出错:unexpected operator.
帖子发表于 : 2009-08-21 16:06 
头像

注册: 2008-12-18 11:47
帖子: 611
送出感谢: 0 次
接收感谢: 0 次
yuu1010 写道:
sh是 dash的软链接,不是bash的,所以把sh改成bash,
或者直接./sh06.sh

have a try

搞不懂UBUNTU干么搞了个什么dash,bash不是好好的么。汗
这个问题我几个朋友也碰到几次


页首
 用户资料  
 
8 楼 
 文章标题 : Re: 刚学习shell,有一个脚本,执行时总出错:unexpected operator.
帖子发表于 : 2009-08-22 1:25 

注册: 2008-11-29 17:24
帖子: 10
送出感谢: 0 次
接收感谢: 0 次
untitled 写道:
yuu1010 写道:
sh是 dash的软链接,不是bash的,所以把sh改成bash,
或者直接./sh06.sh

have a try

搞不懂UBUNTU干么搞了个什么dash,bash不是好好的么。汗
这个问题我几个朋友也碰到几次


是啊.ubuntu的这些个设置太不适合新手了,


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 8 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 4 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译