日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 服務器 > 運行Shell腳本提示"declare not found" 的問題

運行Shell腳本提示"declare not found" 的問題

來源:程序員人生   發布時間:2014-02-28 17:25:13 閱讀次數:3842次

此種問題只在 Ubuntu 下才會出現!安裝 debian 系統根本不存在此類問題,因為只有
Ubuntu 把默認的 bash 替換成了 dash. 在使用 debian 一天后感覺:Ubuntu 好像要
弄出來一個 Linux 世界里的"Windows 7". 自己 Linux 剛入門,不知見解是否有問題,歡
迎提出不同意見。謝謝!
- - - - - - - - - - - - - - - - -

在學習 Shell 腳本的時候,有兩個例子在運行時出現異常。比如,我在 test-dash.sh 腳
本輸入如下內容:
echo -e "Trekshot. a "
declare -i number=7
echo $number
在 Ubuntu 系統下使用 sh test-bash.sh 運行將出現如下提示信息:
-e Trekshot.

test-dash.sh: 2: declare: not found:

有兩個問題:
a. echo 的參數 '-e' 怎么也打印出來了?
b. 一個簡單的整數聲明語句為何提示 "declare: not found"?

1.
出現此問題的原因并非代碼本身有誤,而是 Ubuntu 系統的問題。我們在編寫腳本時,第一
行經常要寫這么一行內容:#!/bin/bash. 這是對該腳本所使用的 shell 進行聲明,因為
Linux 上的 shell 并非只有一種,而各個 shell 的語法是由差別的。之所以把 echo 命令
的參數誤打出來,就是因為 sh 命令沒有理解該語法,即當前使用的并不是 bash.下面來證
明:

獲取 /bin 中相關文件的屬性:
-rwxr-xr-x 1 root root 725136 2008-05-13 02:48 bash
-rwxr-xr-x 1 root root 87924 2008-06-21 00:07 dash
lrwxrwxrwx 1 root root 4 2010-03-25 14:29 sh -> dash

這表明在執行 sh test-dash.sh 的時候,我們使用的是一個叫 "dash" 的命令(注意 sh
實為鏈接文件),而并不是腳本第一行中聲明的 bash. 這就是上面現象的原因。 其實,如
果使用 bash test-dash.sh 命令執行的話,上面兩個錯誤根本不會出現。

2.
dash(Debian Almquist SHell) Ubuntu 自 6.10 后,將先前的 bashshell 更換成了
dash (有待考證). 在設置 dash 的說明中有下面文字:

The default /bin/sh shell on Debian and Debian-based systems is bash.

However, since the default shell is required to be POSIX-compliant, any
shell that conforms to POSIX, such as dash, can serve as /bin/sh. You may
wish to do this because dash is faster and smaller than bash.

大致意思是說默認的 shell 是 bash shell, 但只要是能兼容 POSIX 的 shell 都可以,而
dash 比 bash 速度更快、更小巧,因此 Ubuntu 安裝了 dash.

3.
怎么能把 dash 去掉而使用默認的 bash?使用如下命令:
sudo dpkg-reconfigure dash
此命令是對已安裝的包進行重新配置,在菜單(dash-bash-sh.png)中選擇是否將 sh 鏈接

到 dash (Install dash as /bin/sh?) 選擇否即可。

附圖一:Ubuntu 下設置 dash 界面

ubuntu 設置 dash - 網

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 久久网站免费观看 | 日本福利在线观看 | 欧美日产国产成人免费图片 | 成人在线免费观看 | 亚洲国产综合网 | 国产精品久久久久高潮 | 最新国产露脸在线观看 | 国产一级毛片视频 | 91亚洲精品在线 | 欧美日韩在线一区二区 | 99久久国产综合精品女不卡 | 国产麻豆一区二区三区在线观看 | 一区二区三区高清 | av在线免费观看网站 | 一级少妇女片 | 污视频在线观看网站 | 国产成人在线播放 | 成人国产在线视频 | 国产乱码精品一区二区三区中文 | 欧美黄色片| 亚洲视频精品在线 | 久久精品在线观看 | 久久久久99精品国产片 | 91精品国产乱码久久久 | 国产伦精品一区二区三区四区免费 | 色婷婷激情网 | 国产一区久久 | 国产精品毛片无码 | 亚洲国产91| 成人在线免费视频观看 | 国产精品麻豆一区二区 | 性视频在线 | 91精品久久久久久久久青青 | 国产精品久久久久婷婷二区次 | 日韩在线视频免费观看 | 九九精品视频在线观看 | 美女福利一区 | 免费视频一区 | 久久久久麻豆v国产 | 日韩中文字幕av | 99久久99久久精品国产片果冻 |