リモートコマンドを実行しようとすると、drushが「コマンドが見つかりません」と表示するのはなぜですか?[閉まっている]


14

drushコマンドを使用してリモートマシンで何かを行うと、次のメッセージが表示されます。

bash:drush:コマンドが見つかりません

どうしたの?


あなたの質問を見ると、それはまだDrupal自体ではなくbashについてです。実際には、コマンドが実行されない場合、それがブラシであるか、ツリーであるか、wgetであるか、または何であるかは重要ではないため、ブラシについても同様です。そして、私は答えを見ることなくそれを書きます、私の意見はあなたが尋ねたように、質問だけに基づいています。
モウォ14

@Mołot:問題の原因がbashにあることに気付いたので、答えがわかったら(そしてそのときだけ)bashのように見えるかもしれませんが、答えを知る前は、メッセージは「bashはDrushはコマンドが見つからないと言っている」Bash 最初はDrushからのメッセージのみを伝えているように見えます。もちろん、それは実際に起こっていることではありませんが、答えを知るまで、あなたそれを知りません。質問は、したがって、(彼らが知っている限り)Drupalのユーザーは約、Drushを持っていることの問題です。答えは最前線にバッシュをもたらします。
iconoclast 14

上記のコメントを投稿したとき、答えがあることすら見ていません。あなたの質問では、bashがコマンドを見つけることができないことを尋ねていることは明白です。あなたは、bashがブラシを見つけられないと報告するエラー行を引用します。回答者ではありません。私の最初のコメントはレビューキューにあり、そこには答えもありません。存在するかどうかさえわかりません。
モウォ14

コロンの構文は、BashがDrushが言っていることを暗示しているように見えるだけでなく、ユーザーに関する限り、Drushコマンドが発行されたので、参照されているコマンドを解釈するのが最も自然ですDrush自体ではなく、Drushコマンド。
iconoclast 14

1
「回答」=「解決策」。「回答!= 『返事』は、任意の応答を読む前に。あなたは解決策を知っていた。皆のために真であることを行っていないということ。質問の内容によって分類しなければならない問題ではないの内容の回答(または『ソリューション』あなたの場合)を好む。
アイコノクラスト

回答:


15

このメッセージは、それがどこ見つけるために理解していなかったことに不満をリモートマシンからであるdrush実行可能ファイルを、ではない、それは(サブ)を見つけることができないという不満をDrush句読点は後者を示唆していても、あなたがそれを与えるためにしようとすることができるコマンド。(bash:Bashがメッセージを渡すことdrush:を意味する場合、同じことを意味する必要があります。一貫性がある場合は、実際にはdrush:、メッセージの送信元ではなく、メッセージの件名を意味することを意図しbash:ています。 2番目:が削除された場合はより明確になります。)

Drushは、sshを介してリモートマシンにログインしますが、通常の対話型ログインではないため、.bash_profileを取得しません。ただし、.bashrcファイルをソースします。

リモート.bashrcのPATH変数に、drushパス(drushを含まず、drushを含むディレクトリのみを含む)を追加します。たとえば、次のようになります。

PATH=$PATH:/usr/local/zend/bin

8
〜/ .bashrcで次の点にも注意してください[ -z "$PS1" ] && return。一部のプラットフォームは、非対話型モードで実行している場合にこれを使用して救済します。たとえば、Ubuntuはこれを最初の.bashrcに入れます。PATHを設定する場合、早期終了を強制する可能性のあるこのような条件の前に、必ずPATHを設定する必要があります。
greg_1_anderson

3
回答とコメントをありがとう。Ubuntu 14.04 .bashrcの行の前に パスを編集する必要がありました# If not running interactively, don't do anything case $- in *i*) ;; *) return;; esac
ショーンダイチコ14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.