
Ubuntu日本語フォーラム

ログインしていません。
Ubuntu14.04 クリーンインストールしました。
~/bin に PATH を設定するために .bashrc の最後に次を追加した。
export PATH=/home/satouy/bin;$PATH
再起動した後、ターミナルを開いた時のメッセージです。
------------------------------
bash: /home/satouy/bin: ディレクトリです
satouy@Ubuntu-1:~$ pwd
/home/satouy
satouy@Ubuntu-1:~$ ls
コマンド 'ls' は '/bin/ls' で利用できます
'/bin'がPATH環境変数に含まれていないためコマンドを特定できませんでした。
ls: コマンドが見つかりません
satouy@Ubuntu-1:~$
------------------------------
Ubuntu 12.04 では正常に動いていたのですが、Ubuntu 14.04 では正常に動作しないです.
何がおかしいのでしょうか?
教えていただけないでしょうか.
オフライン
ユーザホームの、.profile に、
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fiとありますので、ユーザホームに、bin ディレクトリを作成、ログイン、ログアウトするだけで、PATH に追加されます。
オフライン
##追加##
また .profile には、
# if running bash
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
fiとあります。
シェルを、デフォルトの dash から bash に変更すれば、.bashrc が実行されるのではないでしょうか?
オフライン
export PATH=/home/satouy/bin;$PATH
直接的な原因は・・・、 セミコロン ';' ではなくて コロン ':' だと思います。
si が仰られる方法で自分もやっていますよ。
オフライン
「si さんが仰られる方法で自分もやっていますよ。」
に訂正します。失礼しました。
オフライン
コメントありがとうございます。
「:」と「 ; 」の単純ミスから、.profile のことを教えていただきありがとうございます。
「ユーザホームに、bin ディレクトリを作成、ログイン、ログアウトするだけで、PATH に追加されます。」
を実行することにします。確認しました。
---------------------------
ついでに質問させていただきます。
~/bin 以外の PATH を設定する場合は、どこで行えばよいのでしょうか?
.bashrc でよいのでしょうか?
>シェルを、デフォルトの dash から bash に変更すれば、.bashrc が実行されるのではないでしょうか?
シェルを、デフォルトの dash から bash に変更する方法とは、どのようにするのですか?
ターミナルから、 cd , ls など実行できるのですが、シェルが bash になっている状態でしょうか?
よろしくお願いします。
オフライン
ysato による投稿:
>シェルを、デフォルトの dash から bash に変更すれば、.bashrc が実行されるのではないでしょうか?
シェルを、デフォルトの dash から bash に変更する方法とは、どのようにするのですか?
シェルを変更する必要はありません。
#0 に書かれたターミナルを開いたときのメッセージは、.bashrc に書き足した export PATH=/home/satouy/bin;$PATH を実行した際の出力です。
; はコマンドの区切りになるので、export PATH=/home/satouy/bin;$PATH は export PATH=/home/satouy/bin と $PATH のふたつのコマンドを順に実行すると解釈されます。
前半のコマンドで、環境変数 PATH に /home/satouy/bin がセットされ、後半で $PATH が展開された /home/satouy/bin を実行します。
前半の実行時は何もメッセージを表示しませんが、後半を実行しようとしても /home/satouy/bin はディレクトリなので #0 のメッセージが表示されます。
オフライン
ubuntuでは、.bashrcの最後の方に以下の記述があります。
# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fiユーザーが新たに定義する物は ~/.bash_aliases を作成し、そこへ記述すると良いと思います。
(処理の都合上~/.bashrc内でないと困る等の理由が無ければ)
アップデートやアップグレード等における.bashrcの上書き対策にもなりますし、.bash_aliases をバックアップしておけば新たにインストールしたubuntuシステムにコピー及び反映させるだけで済みます。
(定義する物が少なければ問題ありませんが、多い場合は手間を省ける)
katsu07 さん、
丁寧な説明ありがとうございます。
.bashrc や .profile に書かれている スクリプトをこれまで注意して読んでいませんでした。
作法が書かれていることがわかりました。
ありがとうございました。
オフライン