2014-01-18 50 views
0

我試圖在我的機器上查找不同shell的版本,但發現它們是相同的。Bash和sh返回相同的版本,所以有什麼區別

sh --version 
GNU bash, version 3.2.51(1)-release (x86_64-apple-darwin13) 
Copyright (C) 2007 Free Software Foundation, Inc. 


bash --version 
GNU bash, version 3.2.51(1)-release (x86_64-apple-darwin13) 
Copyright (C) 2007 Free Software Foundation, Inc. 

他們如何指向保存版本?

+3

題外話了SO,但簡短的回答是,'/斌/ sh'和'/斌/ bash'作爲相同實施程序在您的系統上。 Bash檢測你如何調用它,並以'/ bin/sh'調用時作用更多的POSIX-y。 – Nemo

回答

1

bash有一定的能力,這sh會考慮 to be unnatural

$ bash -c 'cat <(pwd)' 
/home/Steven 

$ sh -c 'cat <(pwd)' 
sh: -c: line 0: syntax error near unexpected token `(' 
sh: -c: line 0: `cat <(pwd)' 
+0

正確,bash提供了很多功能。所以最好使用bash。 – andyPaul

相關問題