お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2024-05-07 11:44:16

subzero
メンバ
From: 北怪道
登録日: 2011-07-16

ログイン時に.bash_profileが読み込まれません

ホームディレクトリに".bash_profile"を作成したのですが、ログイン時に読み込まれません。もう一台のPCでも同様でした。
(テストとして.bash_profileでエイリアス(showme='ls')を設定しましたが反映されません。)

コード:

#.bash_profileの内容
$cat ~/.bash_profile
source .profile
alias showme='ls'

#エイリアスが反映されていない
$ showme 
Command 'showme' not found...

#カレントシェルに読み込ませれば反映されます。
$ source .bash_profile 
$ showme
 Desktop              Pictures                Documents            Public                  Downloads            ....

#bashの設定ファイル
$ ls .bash* 
.bash_history  .bash_profile  .bash_logout   .bash_profile.backup  .bashrc

#環境
$ uname -a 
Linux *** 6.5.0-26-generic #26~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue Mar 12 10:22:43 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
$ bash --version
GNU bash, version 5.1.16(1)-release (x86_64-pc-linux-gnu)

オフライン

 

#2 2024-05-07 13:46:05

subzero
メンバ
From: 北怪道
登録日: 2011-07-16

Re: ログイン時に.bash_profileが読み込まれません

自己レスです。
CLIでログインしたり、ターミナルから

コード:

$sudo login user-name
pasword:*****

とログインした場合なら、.bash_profileが読み込まれました。GUIのログインでは.bash_profileが読み込まれないのかもしれません。エイリアスは.bashrcに書くことにしました。

オフライン

 

#3 2024-05-07 15:47:30

subzero
メンバ
From: 北怪道
登録日: 2011-07-16

Re: ログイン時に.bash_profileが読み込まれません

当初の質問には直接関係ないのですが調べているうちに、~/.profileファイルの中に

コード:

PATH="$HOME/bin:$PATH"

$PATHを後置してPATH変数の設定している場所がありますが、O'Reillyの入門Bashによればこの後置は「無謀」とまで書かれています。

コード:

PATH="$PATH:$HOME/bin"

として$PATHを前置しておいた方が良いのでしょうかね。厳重過ぎるセキュリティよりも日常の使い勝手を優先してるのかもしれませんがちょっと気になりました。

オフライン

 

#4 2024-05-08 01:01:43

elliptic
メンバ
登録日: 2020-03-05

Re: ログイン時に.bash_profileが読み込まれません

デフォルトのUbuntuでは.profileで初期設定をして、.bash_profileはありません。
ユーザーが自分で.bash_profileを作成すると.profileを読み込まなくなるので注意してください。
GUI環境で「端末」を開くと通常は非ログインシェルで応答します。
「端末」の設定で ログインシェルとして実行を選ぶこともできます。
bashに設定したエイリアスはサブシェルには引き継がれません。
いつでも使えるようにしたいエイリアスは全てのbashに読み込まれるように、
.bashrcまたは.bash_aliasesに書きます。

オフライン

 

#5 2024-05-08 12:47:52

subzero
メンバ
From: 北怪道
登録日: 2011-07-16

Re: ログイン時に.bash_profileが読み込まれません

ellipticさん、お返事ありがとうございます。

elliptic による投稿:

GUI環境で「端末」を開くと通常は非ログインシェルで応答します。
「端末」の設定で ログインシェルとして実行を選ぶこともできます。
bashに設定したエイリアスはサブシェルには引き継がれません。
いつでも使えるようにしたいエイリアスは全てのbashに読み込まれるように、
.bashrcまたは.bash_aliasesに書きます。

下図のようにターミナルの上部バーの3本線アイコンのメニューから(または、Alt-key + F2でgnome-terminal --preferencesを実行で)ログインシェルとして実行できるんですね。
https://blogimg.goo.ne.jp/user_image/7f/2f/d9e96a7e62a09783a41fe61a19936c0a.png
また、.bash_aliasesというエイリアスの設定ファイルは知りませんでした。ありがとうございます。

オフライン

 

Board footer

Powered by FluxBB