從ubuntu 6.10開始,預設使用dash(thedebian almquist shell)而不是bash(the gnubourne-again shell). 但login shell還是bash. 原因是dash更快、更高效,而且它符合posix規範。ubuntu在啟動的時候會執行很多shell指令碼,使用dash可以加快啟動速度。
如果解決bash和dash相容性導致的問題
在需要bash的指令碼的第一行寫上"#!/bin/bash"
在makefile中可以設定shell = /bin/bash
如果需要修改預設為bash,請執行下面命令並選擇no。注意這將影響所有的系統指令碼。如果有指令碼需要dash的特有功能,將引起問題(這種情況比較少)。
sudodpkg-reconfigure dash
bash 與bash相關的linux命令
echo 命令一般不需用引號來標記字串。如果字串中有空格,引號等特殊字元,可以用引號將其括起來。否則輸出結果會出問題。n 不要在最後自動換行 e 解析輸出內容中的轉義符。常用的轉義符 a 發出警告聲 c 最後不加上換行符號 t tab鍵 n 換行從鍵盤或檔案中讀入資訊,將其賦給變數 乙個或多個 直到...
bash 迴圈與陣列
for name in list do done 列表生成方法 1 seq start step end 2 glob etc rc.d rc3.d k 3 命令 for i in ping c 1 w 1 dev null return done while i le 100 do let i d...
認識與學習BASH
應用程式在最外面,就如同雞蛋的外殼一樣,因此被稱呼為shell 殼程式 其實殼程式的功能只是提供作業系統的乙個介面。應用程式 作業系統 系統呼叫 核心 硬體linux預設的shell就是bash tab 接在一串指令的第乙個字的後面,則為命令補全 接在一串指令的第二個字以後時,則為檔案補齊 命令別名...