2

私は Chef と Ruby を使用しており、set コマンドを実行しようとしています。

setVarList = %x(set)

set と入力するだけでは問題なく動作しますが、このスクリプトを実行すると次のエラーが発生します。

/var/chef/cache/cookbooks/motd/recipes/default.rb:22: command not found:   set

なにが問題ですか?

4

2 に答える 2

3

すでに述べたように、 setは bash 組み込みコマンドですが、Ruby %x() シェルはshです。

%x(echo $0)

回避策は、 CodeGnomeがコメントで提案しているように、bash を明示的に実行することです。

%x(/bin/bash -c set)
于 2013-02-13T21:43:21.103 に答える