[Linux] 剛學習shell,碰到問題.執行時總出錯:unexpected operator

來源:互聯網
上載者:User
剛學習shell,碰到問題.執行時總出錯:unexpected
operator.用的是ubuntu 9.04.跟這學習鳥哥的私房菜到了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系統中卻執行正確.


在網上也尋找不到解決方案.

有遇到相同問題的麼,

先謝過了


已解決:在ubuntu中文論壇上得到解決的方法.

因為ubuntu預設的sh是串連到dash的,又因為dash跟bash的不相容所以出錯了.執行時可以把sh換成bash 檔案名稱.sh來執行.成功.dash是什麼東西,查了一下,應該也是一種shell,貌似使用者對它的詬病頗多.

by the way修改sh預設串連到bash的一種方法:
sudo dpkg-reconfigure dash

選擇no即可.

參考:http://hi.baidu.com/nako521/blog/item/248fee953b52454fd1135eb7.html

不知道總結的是否準確,如有錯誤,請指正轉載:http://blog.sina.com.cn/s/blog_63484d2d0100mdfn.html
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.