「警告:構文エラーです。サーバーに接続すると、「-」が偽になる可能性がありますか?」

「警告:構文エラーです。サーバーに接続すると、「-」が偽になる可能性がありますか?」

私のサーバーにSSHで接続すると、突然次の警告が表示されます。検索してみても原因が見つからず削除できないようです。

誰でも助けることができますか?

ここに画像の説明を入力してください。

ありがとうございます!

答え1

ps次の構文を使用すると、このコマンドはこの警告を生成しますps -aux。この警告を抑制する方法については、このQAを参照してください。Linuxでps -auxの警告を抑制する

警告メッセージが表示される理由は簡単です。ps3 種類のオプションがサポートされます。-eダッシュが1つあるPOSIXスタイルオプション()、ダッシュなしのBSDスタイルオプション()、ダッシュがa2つある--forestGNUスタイルオプション。特にさまざまな種類のオプションを混在させると、この警告が生成され-auxます。auxこれはプロジェクトに関するFAQ:

「ps -aux」が偽の「-」について文句を言うのはなぜですか?

POSIXおよびUNIX規格によれば、上記のコマンドを使用するには、TTYを持つすべてのプロセス(通常はユーザーが実行しているコマンド)を表示し、「x」というユーザーが所有するすべてのプロセスが必要です。ユーザが存在しない場合、psは実際に「ps aux」を意味すると仮定する。この警告は、「x」という名前のユーザーが作成された場合に問題を引き起こす可能性のある習慣をスムーズに排除するために発行されます。

ログインするとこの内容が表示されるため、問題のコマンドがpsログインプロファイル(bashシェルの〜/ .bash_profile)内にある可能性があります。

答え2

このバグは特にHomebrewに関連しています。この行。代わりにpsこのcフラグを使用できます-c

このeval $(/home/linuxbrew/.linuxbrew/bin/brew shellenv)ディレクティブは、PATH変数の正しい形式をエクスポートするために使用するSHELLを評価します。

このエラーが発生した場合は、brew変数を手動で定義してください~/.bashrc

export HOMEBREW_PREFIX=${HOMEBREW_PREFIX};
export HOMEBREW_CELLAR=${HOMEBREW_CELLAR};
export HOMEBREW_REPOSITORY=${HOMEBREW_REPOSITORY}
export HOMEBREW_SHELLENV_PREFIX=${HOMEBREW_PREFIX}
export PATH=${HOMEBREW_PREFIX}/bin:${HOMEBREW_PREFIX}/sbin${PATH+:$PATH}
export MANPATH="${HOMEBREW_PREFIX}/share/man${MANPATH+:$MANPATH}:"
export INFOPATH="${HOMEBREW_PREFIX}/share/info:${INFOPATH:-}"

関連情報