0
我想了解以下直接管道中的命令外殼可執行
方法1的區別:
- 推出的bash shell
- 在bash shell中鍵入命令
my_command myargs
方法2:
- 推出的Bash shell
- 執行以下直接
my_command myargs | /bin/bash/
我的命令傳入方法1,但不會在方法2.我想這兩種方法是等效的。當然,在方法1中,我還沒有做過任何命令/在執行my_command之前更改了路徑變量。在方法2中,我只是創建一個全新的shell並將命令傳遞給它。
有人可以解釋這種差異嗎?它缺少$ PATH,環境變量等?如果是這樣,我怎麼回聲/找出?
需要注意的是,你還可以看到差異,因爲方法1使用一個交互式shell和方法2纔不是。通常,您可能會觀察到的唯一區別是,如果'my_command'是別名或shell函數,可能無法在非交互式shell中定義。 – chepner 2013-03-11 18:21:48