shell scripts 在ubuntu下运行所产生的问题
-
- 帖子: 11
- 注册时间: 2010-02-23 12:48
shell scripts 在ubuntu下运行所产生的问题
#!/bin/bash
# program will show 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
if [ "$yn" == "Y" ] || [ "$yn" == "y" ]; then
echo "OK, continue"
exit 0
fi
if [ "$yn" == "N" ] || [ "$yn" == "n" ]; then
echo "Oh, interrupt!"
exit 0
fi
echo "I don't know what is your choice" && exit 0
以上这个程序能在suse以及redhat 中正常运行,但是在ubuntu中会出错,出错提示是:
Please input (Y/N): y
[: 11: y: unexpected operator
[: 11: y: unexpected operator
[: 15: y: unexpected operator
[: 15: y: unexpected operator
I don't know what is your choice
请高手予以解答!!
还有一个问题是,在ubuntu中的scripts,如果写echo -e “Hello”。运行时显示的却是
“-e Hello” (也就是说把参数-e也显示出来)。求解。
# program will show 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
if [ "$yn" == "Y" ] || [ "$yn" == "y" ]; then
echo "OK, continue"
exit 0
fi
if [ "$yn" == "N" ] || [ "$yn" == "n" ]; then
echo "Oh, interrupt!"
exit 0
fi
echo "I don't know what is your choice" && exit 0
以上这个程序能在suse以及redhat 中正常运行,但是在ubuntu中会出错,出错提示是:
Please input (Y/N): y
[: 11: y: unexpected operator
[: 11: y: unexpected operator
[: 15: y: unexpected operator
[: 15: y: unexpected operator
I don't know what is your choice
请高手予以解答!!
还有一个问题是,在ubuntu中的scripts,如果写echo -e “Hello”。运行时显示的却是
“-e Hello” (也就是说把参数-e也显示出来)。求解。
- eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
-
- 帖子: 11
- 注册时间: 2010-02-23 12:48
Re: shell scripts 在ubuntu下运行所产生的问题
确定在其他系统里面运行正常。因为我用别人的suse运行过,自己虚拟red hat 9 运行过,都没问题。就是在ubuntu下,死活会弹出出错提示。我这里不缺dash,我也用dash来尝试过运行过。还是那个出错提示。eexpress 写了:确定在其他系统里面正常?你估计这边是使用的dash。缺省的shell就是dash。
以下是我的shells
# /etc/shells: valid login shells
/bin/csh
/bin/sh
/usr/bin/es
/usr/bin/ksh
/bin/ksh
/usr/bin/rc
/usr/bin/tcsh
/bin/tcsh
/usr/bin/esh
/bin/dash
/bin/bash
/bin/rbash
/usr/bin/screen
-
- 帖子: 11
- 注册时间: 2010-02-23 12:48
Re: shell scripts 在ubuntu下运行所产生的问题
好吧,居然没人理。。。。
百度找到了正解:
sudo dpkg-reconfigure dash
选择 NO
但是我想知道为什么会这样。难道之前一直用着的shell是dash?
不是bash吗?
有知道原理的,求补充!
百度找到了正解:
sudo dpkg-reconfigure dash
选择 NO
但是我想知道为什么会这样。难道之前一直用着的shell是dash?
不是bash吗?
有知道原理的,求补充!
-
- 帖子: 919
- 注册时间: 2009-07-01 22:04
Re: shell scripts 在ubuntu下运行所产生的问题
刚才测试正常,不过经历过用gedit写脚本运行异常的情况。
bash不如perl精妙,学不到lisp的皮毛,远不够c++强悍,不过可以用。
- 我就是我2
- 帖子: 1215
- 注册时间: 2008-12-13 10:55
- 来自: the Earth
- 联系:
Re: shell scripts 在ubuntu下运行所产生的问题
baijuguoxi 写了:好吧,居然没人理。。。。
百度找到了正解:
sudo dpkg-reconfigure dash
选择 NO
但是我想知道为什么会这样。难道之前一直用着的shell是dash?
不是bash吗?
有知道原理的,求补充!

别"居然",作为普通用户,确实没任何义务给你解答.
苏东坡问佛印道:“人人皆念观世音菩萨,观世音菩萨念谁?”
佛印答道:“念观世音菩萨。”
苏东坡诧异:“为何亦念观世音菩萨?”
曰:“求人不如求己。”
自然灋則
dropbox 誰好奇,誰來點
勞碌一生又如何,虛度一生又如何,你過得開心嗎?人活著就要開心嘛!
佛印答道:“念观世音菩萨。”
苏东坡诧异:“为何亦念观世音菩萨?”
曰:“求人不如求己。”
自然灋則
dropbox 誰好奇,誰來點
勞碌一生又如何,虛度一生又如何,你過得開心嗎?人活著就要開心嘛!
-
- 帖子: 2
- 注册时间: 2011-08-14 17:01
Re: shell scripts 在ubuntu下运行所产生的问题
我也遇到了相同问题,在自己写鸟哥的 shell script 时
-
- 帖子: 919
- 注册时间: 2009-07-01 22:04
Re: shell scripts 在ubuntu下运行所产生的问题
#重现了代码,发现是没有避开sed陷阱的原因,不关ubuntu事,当时练习用sed写二进制加法器。fnan 写了:刚才测试正常,不过经历过用gedit写脚本运行异常的情况。
bash不如perl精妙,学不到lisp的皮毛,远不够c++强悍,不过可以用。
-
- 帖子: 919
- 注册时间: 2009-07-01 22:04
Re: shell scripts 在ubuntu下运行所产生的问题
鸟哥的是RH系的,有些跟debian系不兼容。wizardcxy 写了:我也遇到了相同问题,在自己写鸟哥的 shell script 时
bash不如perl精妙,学不到lisp的皮毛,远不够c++强悍,不过可以用。
-
- 帖子: 11
- 注册时间: 2010-02-23 12:48
Re: shell scripts 在ubuntu下运行所产生的问题
你的问题解答了吗?wizardcxy 写了:我也遇到了相同问题,在自己写鸟哥的 shell script 时
我的百度解答了,但是不明白其中的原因。。。