青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Welcome to ErranLi's Blog!

  C++博客 :: 首頁 :: 聯系 :: 聚合  :: 管理
  106 Posts :: 1 Stories :: 97 Comments :: 0 Trackbacks

常用鏈接

留言簿(12)

搜索

  •  

積分與排名

  • 積分 - 178126
  • 排名 - 152

最新評論

閱讀排行榜

bash、dash/bin/bash/bin/sh) 

  原文:http://www.cnblogs.com/dkblog/archive/2011/04/02/2003822.html

Linux中的shell有多種類型,其中最常用的幾種是Bourne   shellsh)、C   shellcsh)和Korn   shellksh)。三種shell各有優缺點。

Bourne   shellUNIX最初使用的shell,并且在每種UNIX上都可以使用。Bourne   shellshell編程方面相當優秀,但在處理與用戶的交互方面做得不如其他幾種shell。

Linux操作系統缺省的shellBourne   Again   shell,它是Bourne   shell的擴展,簡稱Bash,與Bourne   shell完全向后兼容,并且在Bourne   shell的基礎上增加、增強了很多特性。Bash放在/bin/bash中,它有許多特色,可以提供如命令補全、命令編輯和命令歷史表等功能,它還包含了很多C   shellKorn   shell中的優點,有靈活和強大的編程接口,同時又有很友好的用戶界面。

GNU/Linux 操作系統中的 /bin/sh 是 bashBourne-Again Shell)的符號鏈接,

    但鑒于 bash 過于復雜,有人把 ash 從 NetBSD 移植到 Linux 并更名為 dashDebian Almquist Shell),并建議將 /bin/sh 指向它,以獲得更快的腳本執行速度。Ubuntu 號稱自從他們在 6.10 版里這樣做了以后,系統啟動速度有了明顯的提升。Debian 計劃在下一個發行版(代號 lenny)中也將 dash 作為默認的 /bin/sh


/bin/sh與/bin/bash的細微區別

原文:不詳

在shell腳本的開頭往往有一句話來定義使用哪種sh解釋器來解釋腳本。
目前研發送測的shell腳本中主要有以下兩種方式:
(1) #!/bin/sh
(2) #!/bin/bash
在這里求教同??蜅5母魑淮髠b們一個問題:
以上兩種方式有什么區別?對于腳本的實際運行會產生什么不同的影響嗎?

腳本test.sh內容:
#!/bin/sh
source pcy.sh #pcy.sh并不存在
echo hello
執行./test.sh,屏幕輸出為:
./test.sh: line 2: pcy.sh: No such file or directory
由此可見,在#!/bin/sh的情況下,source不成功,不會運行source后面的代碼。
修改test.sh腳本的第一行,變為#!/bin/bash,再次執行./test.sh,屏幕輸出為:
./test.sh: line 2: pcy.sh: No such file or directory
hello
由此可見,在#!/bin/bash的情況下,雖然source不成功,但是還是運行了source后面的echo語句。
但是緊接著我又試著運行了一下sh ./test.sh,這次屏幕輸出為:
./test.sh: line 2: pcy.sh: No such file or directory
表示雖然腳本中指定了#!/bin/bash,但是如果使用sh 方式運行,如果source不成功,也不會運行source后面的代碼。

為什么會有這樣的區別呢?

junru同學作了解釋

1. sh一般設成bash的軟鏈
[work@zjm-testing-app46 cy]$ ll /bin/sh
lrwxrwxrwx 1 root root 4 Nov 13 2006 /bin/sh -> bash
2. 在一般的linux系統當中(如redhat),使用sh調用執行腳本相當于打開了bash的POSIX標準模式
3. 也就是說 /bin/sh 相當于 /bin/bash --posix

所以,sh跟bash的區別,實際上就是bash有沒有開啟posix模式的區別

so,可以預想的是,如果第一行寫成 #!/bin/bash --posix,那么腳本執行效果跟#!/bin/sh是一樣的(遵循posix的特定規范,有可能就包括這樣的規范:“當某行代碼出錯時,不繼續往下解釋”)


例如:
[root@localhost yuhj]# head -n1 x.sh
#!/bin/sh
[root@localhost yuhj]# ./x.sh

./x.sh: line 8: syntax error near unexpected token `<'
./x.sh: line 8: ` while read line; do { echo $line;((Lines++)); } ; done < <(route -n)'
[root@localhost yuhj]#



[root@localhost yuhj]# head -n1 x.sh
#!/bin/bash
[root@localhost yuhj]#./x.sh

Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.202.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 192.168.202.2 0.0.0.0 UG 0 0 0 eth0
Number of lines read = 4
[root@localhost yuhj]#


[root@localhost yuhj]# head -n1 x.sh
#!/bin/bash --posix
[root@localhost yuhj]#
[root@localhost yuhj]# ./x.sh

./x.sh: line 8: syntax error near unexpected token `<'
./x.sh: line 8: ` while read line; do { echo $line;((Lines++)); } ; done < <(route -n)'



[root@localhost yuhj]# whereis sh bash
sh: /bin/sh /usr/share/man/man1/sh.1.gz /usr/share/man/man1p/sh.1p.gz
bash: /bin/bash /usr/share/man/man1/bash.1.gz

[root@localhost yuhj]# ll /bin/sh /bin/bash
-rwxr-xr-x 1 root root 735004 May 25 2008 /bin/bash
lrwxrwxrwx 1 root root 4 Jan 29 00:39 /bin/sh -> bash
[root@localhost yuhj]#



 
posted on 2012-05-24 16:45 erran 閱讀(3719) 評論(0)  編輯 收藏 引用

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久激情综合网| 99re6这里只有精品| 永久555www成人免费| 国产精品久久77777| 老司机亚洲精品| 亚洲免费中文| 欧美在线视频免费播放| 99精品视频一区| 日韩亚洲欧美在线观看| 午夜精品久久久久久久久久久久久| 精久久久久久| 国产精品一二三四| 国产精品一区二区三区久久| 国产精品久久久久久久app| 欧美激情a∨在线视频播放| 久久人人爽人人爽爽久久| 久久精品一区二区三区不卡| 久久久久国产精品厨房| 欧美va日韩va| 在线中文字幕一区| 欧美在线视频免费| 久久久久久久综合| 麻豆成人小视频| 国产精品啊啊啊| 国产一区二区在线观看免费播放| 国产在线视频欧美一区二区三区| 亚洲电影免费观看高清完整版在线观看 | 1769国产精品| 午夜精品一区二区三区四区| 欧美一区1区三区3区公司| 欧美jizz19hd性欧美| 亚洲图片你懂的| 欧美日韩国产首页| 最新日韩精品| 麻豆乱码国产一区二区三区| 亚洲欧美国产高清va在线播| 欧美日韩免费网站| 亚洲三级电影全部在线观看高清| 午夜精品久久久久久久白皮肤| 欧美日韩成人综合在线一区二区| 国产精品影视天天线| 亚洲视频福利| 亚洲午夜久久久久久久久电影院| 欧美激情一二区| 猛男gaygay欧美视频| 伊人蜜桃色噜噜激情综合| 亚洲欧美日韩精品一区二区 | 久久青草久久| 亚洲一区二区三区免费视频 | 久久精品免费| 精品二区视频| 亚洲韩国精品一区| 欧美精品午夜| 一区二区三区四区在线| 一本一本久久| 国产综合久久久久久鬼色| 免费成人av在线看| 国产精品久久久久久久浪潮网站| 久久久久91| 欧美日韩一区二区在线| 久久漫画官网| 欧美日本一区二区高清播放视频| 亚洲在线观看| 欧美顶级少妇做爰| 久久伊人精品天天| 国产精品家庭影院| 亚洲精品久久久久久久久久久久| 国产精品欧美在线| 亚洲一区二区三区高清不卡| 亚洲欧美激情视频| 蜜桃精品久久久久久久免费影院| 一区二区三区四区五区精品视频| 欧美在线观看一区| 欧美一区二区三区四区在线| 欧美激情第六页| 亚洲高清免费| 亚洲欧美一区二区三区在线 | 欧美日韩国产小视频| 欧美在线短视频| 欧美视频在线观看一区| 亚洲精选久久| 亚洲欧美电影院| 国产精品v亚洲精品v日韩精品| 91久久夜色精品国产网站| 亚洲日本无吗高清不卡| 欧美日本三级| 亚洲视屏在线播放| 久久激情综合| 亚洲国产精品一区二区www在线| 欧美亚洲在线视频| 久久久久国内| 日韩亚洲欧美中文三级| 欧美午夜精品理论片a级按摩| 中文在线一区| 美日韩精品视频| 9i看片成人免费高清| 国产精品毛片大码女人| 欧美一区二区视频网站| 欧美激情一区二区三区在线视频| 亚洲日本电影在线| 国产一区白浆| 国产精品国内视频| 久久久亚洲国产天美传媒修理工| 久久久www成人免费精品| 欧美一区成人| 亚洲欧洲精品成人久久奇米网 | 欧美精品一区二区三区高清aⅴ| 亚洲日本中文字幕| 欧美中文日韩| 亚洲视频欧美视频| 在线观看亚洲专区| 亚洲免费不卡| 亚洲区在线播放| 欧美韩日一区二区| 麻豆精品精华液| 六月天综合网| 欧美国产日韩亚洲一区| 久久综合九色综合久99| 午夜精品免费| 欧美综合二区| 久久综合99re88久久爱| 另类av一区二区| 欧美成ee人免费视频| 亚洲春色另类小说| 日韩一级免费观看| 亚洲素人一区二区| 欧美在线一二三区| 欧美高清视频免费观看| 欧美人与禽性xxxxx杂性| 欧美日韩精品免费看| 欧美天堂亚洲电影院在线播放| 欧美日韩在线一区二区| 国产亚洲精品bt天堂精选| 黑人巨大精品欧美一区二区小视频| 国产一区二区日韩精品| 亚洲精品久久久久| 欧美中日韩免费视频| 亚洲高清在线观看一区| 亚洲一二三四久久| 美女视频黄a大片欧美| 欧美日韩亚洲天堂| 国产精品mm| 亚洲砖区区免费| 久久精品一区二区| 欧美午夜在线观看| 亚洲人成在线影院| 性色一区二区| 99国产精品久久久久久久久久| 午夜精品视频一区| 欧美性色综合| 艳妇臀荡乳欲伦亚洲一区| 欧美精品乱人伦久久久久久 | 久久国产精品99久久久久久老狼 | 久久精品国产欧美激情| 欧美激情bt| 亚洲国产一区二区三区a毛片| 欧美在线免费观看亚洲| 亚洲视频精选在线| 欧美午夜不卡在线观看免费| 亚洲欧洲一区二区在线播放 | 91久久综合| 欧美国产大片| 欧美国产综合| 一本色道久久综合亚洲精品不卡| 久久日韩精品| 欧美国产精品v| 亚洲天堂成人在线观看| 中文在线资源观看网站视频免费不卡 | 美女成人午夜| 欧美日本不卡| 久久久999精品视频| 亚洲激情成人在线| 最新国产拍偷乱拍精品| 欧美精品日日鲁夜夜添| 欧美日韩午夜在线| 亚洲一区二区三区精品在线 | 亚洲三级免费电影| 亚洲精品女av网站| 欧美日韩一区国产| 欧美国产高潮xxxx1819| 国产精品免费电影| 欧美日韩视频在线第一区| 亚洲国产精品久久久久秋霞蜜臀| 亚洲婷婷在线| 久久久国产91| 亚洲精品乱码久久久久| 欧美日韩妖精视频| 久久精品一区| 99v久久综合狠狠综合久久| 欧美影院在线| 一本色道久久加勒比精品| 国产女主播在线一区二区| 欧美成人资源| 久久精品30| 亚洲一区二区三区在线看| 欧美成人免费小视频| 性娇小13――14欧美| 亚洲精品一区二区三区99| 国产一区二区三区黄视频| 欧美区一区二区三区|