ルートのシェルを変更
まず、一言。
ルートで作業するのは危険が伴いますのでくれぐれもご注意を。
昨日、suコマンドでルートになると、tabキーによる入力補完ができなくなると書きました。
なぜかというと、
bash-2.05$ su ←ルートになります # echo $SHELL ←現在のシェルを表示 /bin/sh ←こいつだそうです。でもlinuxでは/bin/shは何かのリンクです # ls -l /bin ←lsの-lオプションで属性を表示。/bin/shの正体を暴く ・ ・ lrwxrwxrwx 1 root root 3 Mar 4 16:57 sh -> ash ・ ・
sh -> ash
ということで、シェルが/bin/ashだそうです。
こいつは入力補完がないのか。
僕はbashが使いたい。
なら
というように、bashを動かしてやればよいのです。
いっそのこと、設定ファイルを変えてしまう。
ルート権限をもつようにしたZeditorで/etc/passwdを開く。
root:x:0:0:root:/home/root:bin/sh
がrootに関する情報。
あれ?rootのホームディレクトリって/root じゃないんだ。
それはおいといて、
最後の /bin/sh がデフォルトのシェルだから、
root:x:0:0:root:/home/root:bin/bash
と変えてやる。
こうしとけば、
というように、bashが動いてくれる。
これで入力補完が使える。
/etc/passwd を見てみると、
となっており、zaurusユーザもデフォルトは /bin/sh でした。
ターミナルはbashを動かすようになってるんですね。