bashrcの設定

私はFedora8をメインに使用しているが、Ubuntu式のrootユーザーを使わず、sudoで済ませる方法が手軽で気に入っている。この方法で行くには、一般ユーザーでも/sbinや/usr/sbinにPATHを通す事と、一部のコマンド(pm-suspend、pm-hibernate等)を使うときに通常のFedoraの使い方と齟齬が出ないように、ユーザー権限で実行するときには/usr/sbinより/usr/binを優先するように設定する必要がある。
また、端末に表示されるプロンプトは環境変数PS1で設定するが、通常は緑、sudo -sでroot権限を得ているときは赤で表示している。
これらのために${HOME}/.bashrcを以下のようにしている。

# .bashrc

# Source global definitions
if [ -f /etc/bashrc ]; then
	. /etc/bashrc
fi
# User specific aliases and functions
#PS1="\[\e[32m\][\w]\n\\$\[\e[0m\] "      #デフォルトの設定をコメントアウト

if [ -w / ] ; then                        #ルートに書き込み権限があるかでプロンプトの表示色を判断。whoamiを使っても良さそう。
        PS1='\[\e[1;31m\][\w]#\[\e[0m\] '
	PATH=$HOME/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
else
        PS1='\[\e[32m\][\w]$\[\e[0m\] '
	PATH=$HOME/bin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/sbin:/usr/sbin
fi

${HOME}/.bash_profileは非対話モードでも/usr/sbin等にPATHを通すために以下のように変更する。(何か読んでないみたいと思ってこれを削除したら、Fluxboxのメニューからコマンド実行出来なくなりました。)

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

export PATH=$HOME/bin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/sbin:/usr/sbin
unset USERNAME

これで実際のプロンプトは以下の様になる。いまさらだが、このブログの記述はこれをベースにしている。

[~/bin]$ []sudo -s[]
[~/bin]# 
参考:Bash Prompt HOWTO