1

私は bash にかなり慣れていないので、フォーマットであると想定しているものに問題があります。/etc/profileroot のログイン メッセージと、それ以外のユーザーの別のログイン メッセージが表示されるように、 を編集しようとしています。しかし、エラー bash: syntax error near unexpected token が発生していますelse。セミコロンなし、次の行などのさまざまな組み合わせをすべて試しましたが、常に同じエラーが発生します。行を個別に試してみましたが、正常に表示されます(ただし$HOSTNAME、動作しません)。このように実行してルートでログインすると、「ようこそ$USER...」にジャンプします。

誰でも提案をいただければ幸いです!

if [ "$UID" -ne 0 ]; then
  echo -e "\033[40;37;7m Danger! Root is doing stuff in `pwd`\033[0m"
else
  echo "Welcome $USER! You are working on `$HOSTNAME` in `pwd`."
fi
4

1 に答える 1

0

書かれているように、上記は私にとってはうまくいきますが、指摘されているように、テストを に変更する必要があります-eq 0

予期しないトークンの問題に近い構文エラーについては、ファイルに「制御コード」が埋め込まれていると推測されます。つまり、おそらく改行\rです。

試す:

cat -e ~/your_profile

印刷できない文字が表示されますか? もしそうなら、それらを削除します(catオプションは異なる場合があります-マンページを確認してください)または

od -c ~/your_profile
于 2015-10-01T23:25:05.183 に答える