sudo
を使用して別のユーザーとしてscreen
を実行しようとしています。私はコマンドを使用していsudo:コマンドが見つかりません
:
echo 'userpassword' | /usr/bin/sudo -u 'myuser' -S '/usr/bin/screen -ls'
をインターネット上で見つかったすべてのヘルプはsudo
は(PATH
のような)環境変数をクリアすることを言います。だから私はアプリケーションへの完全なパスを使用することにしましたが、まだコマンドが見つかりません。エラー。
エラー:須藤は、システムにインストールされている
sudo: /usr/bin/screen -ls: command not found
。 画面がシステムにインストールされています。
sudo
の場合、私は-E
と-H
フラグを試しましたが、それは役に立ちません。
私はこのような何か使用してPATH
変数を設定しようとしました:
... | /usr/bin/sudo -u 'myuser' -S 'env PATH=$PATH; /usr/bin/screen -ls'
たぶん$PATH
は、コマンドが実行される前に拡大することとしましたが、私は他のエラーを得ていたが...
誰かが提供できますコマンドを使用すると、別のユーザーとしてコマンドを実行し、コマンドの各部分が何をして理解できるかを説明できます。
ありがとうございました。
この質問はStackExchangeサイト[**スーパーユーザー**](http://superuser.com/)または[** ServerFault **](http://serverfault.com/) –
正確な(コピーして貼り付けた)エラーメッセージを表示するために質問を更新してください。ところで、 'sudo'は' $ PATH'を完全にリセットしません。/usr/local/bin:/ usr/sbin:/ usr/bin:/ sbin:/ bin' –
私は、話題はプログラミングの問題ではないからです。 [unix.se]を試してみてください。 –