如何解決執(zhí)行sh -x xxx.sh出現(xiàn):xxx.sh: 1: xx.sh: Syntax error: "(" unexpected

演示環(huán)境

root@ubuntu:/bin# sudo lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.04 LTS
Release:    14.04
Codename:   trusty

問題現(xiàn)象?

root@ubuntu:/home/qpz/ShellCode# sh -x singleton.sh 
singleton.sh: 1: singleton.sh: Syntax error: "(" unexpected

為什么會出現(xiàn)這種問題?

  1. 剛開始以為是我腳本本身有語法錯誤,但是打開腳本細細看了下删咱,并沒有發(fā)現(xiàn)什么錯誤
root@ubuntu:/home/qpz/ShellCode# cat singleton.sh 
function keep_singleton()
{
  local tmpfile="/tmp/cus_log_report$$"
  cat $tmpfile  
}
keep_singleton
  1. 于是我查看了系統(tǒng)的/bin/sh默認指向什么,如下:
root@ubuntu:/bin# ls -l /bin/sh
lrwxrwxrwx 1 root root 4 Sep 11 00:39 /bin/sh -> dash

  1. 這是我非常奇怪這個dash是個什么東西蛮艰?于是我翻閱了一下書籍腋腮,查找dash是什么,并且總結(jié)了他們之間的不同壤蚜,如下:

dash的前身是ash,有人把 ash 從 NetBSD 移植到 Linux 并更名為 dash (Debian Almquist Shell)即寡,并建議將 /bin/sh 指向它,以獲得更快的腳本執(zhí)行速度袜刷。Dash Shell 比 Bash Shell 小的多聪富,符合POSIX標準。

  1. 為什么在dash下會報語法錯誤著蟹?
  • bash: function在bash中為關(guān)鍵字
  • dash: dash中沒有function這個關(guān)鍵字

如何解決墩蔓?

  1. 執(zhí)行dpkg-reconfigure dash
root@ubuntu:/home/qpz/ShellCode# sudo dpkg-reconfigure dash
Removing 'diversion of /bin/sh to /bin/sh.distrib by dash'
Adding 'diversion of /bin/sh to /bin/sh.distrib by bash'
Removing 'diversion of /usr/share/man/man1/sh.1.gz to /usr/share/man/man1/sh.distrib.1.gz by dash'
Adding 'diversion of /usr/share/man/man1/sh.1.gz to /usr/share/man/man1/sh.distrib.1.gz by bash'
  1. 彈出一個窗口,選擇No
解決方法.png
  1. 驗證是否修改成功?
root@ubuntu:/bin# ls -l /bin/sh
lrwxrwxrwx 1 root root 4 Sep 11 00:39 /bin/sh -> bash

  1. 重新運行腳本
root@ubuntu:/home/qpz/ShellCode# sh -x singleton.sh 
+ keep_singleton
+ local tmpfile=/tmp/cus_log_report5968
+ cat /tmp/cus_log_report5968
cat: /tmp/cus_log_report5968: No such file or directory

End.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末萧豆,一起剝皮案震驚了整個濱河市奸披,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌涮雷,老刑警劉巖阵面,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異洪鸭,居然都是意外死亡样刷,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進店門览爵,熙熙樓的掌柜王于貴愁眉苦臉地迎上來置鼻,“玉大人,你說我怎么就攤上這事蜓竹』福” “怎么了?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵梅肤,是天一觀的道長司蔬。 經(jīng)常有香客問我,道長姨蝴,這世上最難降的妖魔是什么俊啼? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮左医,結(jié)果婚禮上授帕,老公的妹妹穿的比我還像新娘。我一直安慰自己浮梢,他們只是感情好跛十,可當我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著秕硝,像睡著了一般芥映。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天奈偏,我揣著相機與錄音坞嘀,去河邊找鬼。 笑死惊来,一個胖子當著我的面吹牛丽涩,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播裁蚁,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼矢渊,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了枉证?” 一聲冷哼從身側(cè)響起矮男,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎室谚,沒想到半個月后昂灵,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡舞萄,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年眨补,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片倒脓。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡撑螺,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出崎弃,到底是詐尸還是另有隱情甘晤,我是刑警寧澤,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布饲做,位于F島的核電站线婚,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏盆均。R本人自食惡果不足惜塞弊,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望泪姨。 院中可真熱鬧游沿,春花似錦、人聲如沸肮砾。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽仗处。三九已至眯勾,卻和暖如春枣宫,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背吃环。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工镶柱, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人模叙。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像鞋屈,于是被迫代替她去往敵國和親范咨。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,916評論 2 344

推薦閱讀更多精彩內(nèi)容

  • 自己寫的一個while循環(huán)結(jié)構(gòu)總是報錯厂庇,糾結(jié)了一下午渠啊,各種查資料、改命令行权旷,最后發(fā)現(xiàn)是ubuntu系統(tǒng)解釋器的原因...
    無言89閱讀 28,208評論 0 11
  • 一替蛉,shell題記 不懂shell的程序員不是好程序員,學習shell是為了自動化拄氯,使用自動化可以非常有效的提高工...
    架構(gòu)師小秘圈閱讀 8,721評論 3 70
  • BASH的基本語法 ·最簡單的例子—— Hello World! ·關(guān)于輸入躲查、輸出和錯誤輸出 ·BASH中對變量的...
    約落小宮山閱讀 1,182評論 0 13
  • 1.創(chuàng)建文件夾 !/bin/sh mkdir -m 777 "%%1" 2.創(chuàng)建文件 !/bin/sh touch...
    BigJeffWang閱讀 10,023評論 3 53
  • “哥!” 是叫我嗎 遙遠而又真切 好像小鳥落在了肩頭 恰似露珠冰潤了眉額 “六號樓在哪耙氚亍镣煮?” 哦 我給他指路 那歡...
    木進閱讀 318評論 0 3