CentOSで動いている自宅サーバ(メイン)にログインすると変なエラーが出るようになった。
[: =: unary operator expected
わけ分からん。何も変更したりしてないぞ。yumでアップデートやった時にどこかおかしくなったのかな。
原因を探っていろいろ見ていたら、どうやら、ログイン時に読み込むドットファイル系(?)でエラーが出ている模様。ほんと何も変えていないんだけどなー。
なんかねー、ログインする時に環境変数でUSERって作っているんですが(/etc/profile)、その部分がおかしかったようです。変数USERはid -unってコマンドで作成しているようですが、そのidってコマンドが正しく動作していませんでした。
envを打つとUSERって環境変数が空だしw
idってコマンド打つと「セグメンテーション違反」とかw
ここまでは容易に特定できました。さてここからが問題です。どうやってidコマンドを直せばいいのか...。そもそもコマンドでセグメンテーションフォルトとか言われても分からんしw
「セグメンテーション違反ってなーに?」(日産NOTEのハイジ風にw)
とりあえずはrebootやってみました。基本だね、再起動は。でも直りません。次にfsckやってみました。でも直りません。さてどうしよう...。
お手上げだなw
ダメもとでwindows上に入れているCentOSの仮想マシーンからidコマンドをscpしてメインの自宅サーバのidコマンドと置き換えてみました(/usr/bin/id)。そうするとアラ不思議、直っちゃいました。そんなもんなのかね~。
あとは何でこうなったのかが分かればOKなのだが、多分それは分からぬままでしょう。