电竞比分网-中国电竞赛事及体育赛事平台

分享

ubuntu9.04 shell編程 [: 10: y: unexpected operator

 瞻云軒 2015-04-03

按照鳥哥私房菜些的shell編程,但是卻出現(xiàn)莫名其妙的問題。如:

#!/bin/bash
#Program:
#       This program will show the user's choice
#History:
#2010/01/12             huanwgei        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 is you choice" && exit 0

 

執(zhí)行的時(shí)候,總是發(fā)現(xiàn)提示  “[: 10: y: unexpected operator”

無奈了,跑到終端下按照shell里的命令輸入了下,居然成功了,不禁再一次感嘆了下問題的詭異。最后在網(wǎng)上找到了答案:

第一種:

原文地址:http://www./read.php?tid=1377788&page=e&fpage=5

因?yàn)?/font>ubuntu默認(rèn)的sh是連接到dash的,又因?yàn)?/font>dashbash的不兼容所以出錯(cuò)了.執(zhí)行時(shí)可以把sh換成bash 文件名.sh來執(zhí)行.成功.dash是什么東西,查了一下,應(yīng)該也是一種shell,貌似用戶對它的詬病頗多.

by the way修改sh默認(rèn)連接到bash的一種方法:

$ sudo dpkg-reconfigure dash

選擇no(否)即可。

第二種:

在某個(gè)論壇看到別人討論的結(jié)果。

”==” 改為”=”就行了,dash判斷字符串相等用 的是=。

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多