制限付きシェルでコマンドを実行します/ bin/rbash 'と入力します。使用生地は、私は、次のfabfileをした
パラメータを指定してコマンドを実行すると、パラメータなしの 'ls'が完全に機能するのに対し、コマンドは単一のコマンドとして扱われるようです。
Fabricが '/ bin/bash'を使用しようとしていて、制限付きシェルで許可されていないため、空のシェルを置いたことに注意してください。
制限付きシェルでFabricを使用できますか?
制限付きシェルでコマンドを実行します/ bin/rbash 'と入力します。使用生地は、私は、次のfabfileをした
パラメータを指定してコマンドを実行すると、パラメータなしの 'ls'が完全に機能するのに対し、コマンドは単一のコマンドとして扱われるようです。
Fabricが '/ bin/bash'を使用しようとしていて、制限付きシェルで許可されていないため、空のシェルを置いたことに注意してください。
制限付きシェルでFabricを使用できますか?
この問題は、rbash
が使用されていることに関連しているのではなく、空の値env.shell
に関連しています。
env.shell = '/bin/rbash -l -c'
なお:
env.shell
のデフォルト値はそう/bin/rbash -l -c
を使用して、/bin/bash -l -c
であるが、センスenv.shell
が空の文字列に設定されている
echo $SHELL
とターゲット・マシンの
-CHECK環境が起こったとして求めることするつもりはない。
/bin/sh
- その後、あなたのpython fabfile.py:
from fabric.api import env
env.shell = "/bin/sh -c"
私の環境では、 Pure配列の一部として制限されたシェルを呼び出すと、引数shell = Falseを実行関数に渡すオプションがあるように見えます。
「rbash -l -c」を指定すると、問題が解決しました。制限されたシェルが絶対パスを使用できないので、 ''/bin/rbash ''を置くことはできません。 – alexyz78