我可以使用反引號(和%x(),系統等)使用Ruby程序或irb運行Bash shell命令。但由於某些原因,這並不符合歷史。爲什麼我不能從Ruby中調用`history`?
例如:
jones$ irb --simple-prompt
>> `whoami`
=> "jones\n"
>> `history`
(irb):2: command not found: history
=> ""
從Ruby程序內它會產生這樣的錯誤:
/usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31: command not found: history
在bash本身,這些命令做工精細
它不是Ruby的呼叫調用一個新的shell - 它根本找不到那個命令...
Anyo ne知道爲什麼?我很難...
同樣有用的方法可以通過反引號/ etc來調用它:echo「history」| bash -i 2>/dev/null(信用:theosp) – Kevin 2012-08-05 06:07:59