ubuntu寫shell 函式報錯

2021-09-02 13:29:29 字數 685 閱讀 1057

#!/bin/bash

function

sayit

sayit

this returns "hello world" on my laptop, but on my desktop it returns:

run.sh

:3:function

not found

hello world

run.sh:

5:syntax

error

:"}"

unexpected

從 ubuntu 6.10 開始,ubuntu 就將先前預設的bash shell 更換成了dash shell;其表現為 /bin/sh 鏈結倒了/bin/dash而不是傳統的/bin/bash。

ubuntu edgy是第乙個將dash作為預設shell來發行的版本,這似乎是受了debian的影響。wiki 裡面有官方的解釋,主要原因是dash更小,執行更快,還與posix相容。

但目前存在的問題是,由於shell的更換,致使很多指令碼出錯,畢竟現在的很多指令碼不是100%posix相容。

在wiki裡面也說到,如何將預設的shell改回bash,方法就是

在終端執行 sudo dpkg-reconfigure dash

然後選擇 no。

ubuntu18 安裝Mindaster報錯

1 0513 191503 warning resource bundle qt.cpp 114 locale file path.empty for locale 2 opt mindmaster 6 libexec qtwebengineprocess opt mindmaster 6 libe...

Ubuntu 沿街叫賣的GNU Linux「報童」

3月21 日凌晨1點20 分 格林威治時間 ubuntu 開發團隊正式發表新聞稿,自豪地聲稱 ubuntu 8.04 beta 正式發布。這是乙個很有紀念意義的時刻。為什麼?ubuntu fedora 和opensuse 都稱得上是 gnu linux 發行版,它們都是地地道道的自由軟體包。當然,還...

ubuntu下報core dump核心轉儲的錯誤

記錄 學習 在此感謝原鏈結博主!core dump又叫核心轉儲,當程式執行過程中發生異常,程式異常退出時,由作業系統把程式當前的記憶體狀況儲存在乙個core檔案中,叫core dump.linux中如果記憶體越界會收到sigse 訊號,然後就會core dump 在程式執行的過程中,有的時候我們會遇...