.bash_loginと.bash_profileが見つかりません
root@linux:~# locate .bash* /etc/bash.bashrc /etc/skel/.bashrc /etc/skel/.bashrc.original /home/noroot/.bashrc /home/noroot/.bashrc.original /root/.bash_history /root/.bashrc /usr/share/base-files/dot.bashrc /usr/share/doc/adduser/examples/adduser.local.conf.examples/bash.bashrc /usr/share/doc/adduser/examples/adduser.local.conf.examples/skel/dot.bashrc /usr/share/kali-defaults/.bashrc root@linux:~#
常にありますユーザーごとに1つの.bashrcファイルと.bash_profileファイルのみですか?
また、.bashrcと.bash_profileは常に/ home / “user name”ディレクトリにありますか?
回答
bashがデフォルトで確認するのはユーザーのホームディレクトリだけです。はい。通常、Linuxには単一のソースがあります。 / etc / skel。ただし、ユーザーのホームディレクトリは/ homeの下にある必要はありません。
質問を編集して、.bash_loginファイルと.bash_profileファイルがどこにあるかを尋ねました。 #
プロンプトで、これをrootとして実行していると仮定します。その場合、ファイルは
/root/.bash_history /root/.bashrc
ユーザーのホームディレクトリについては、上記の元の回答を参照してください。常に/ homeであるとは限りません。この場合、ルートのホームディレクトリは/root
です。 。
回答
man bash
によると:
bashが呼び出されたとき対話型ログインシェルとして、または–loginオプションを指定した非対話型シェルとして、ファイルが存在する場合は、最初にファイル/ etc / profileからコマンドを読み取って実行します。そのファイルを読み取った後、〜/ .bash_profile、〜/ .bash_login、〜/ .profileの順に検索し、最初に存在して読み取り可能なコマンドからコマンドを読み取って実行します。
~/.bash_profile The personal initialization file, executed for login shells ~/.bashrc The individual per-interactive-shell startup file
/etc/bashrc
( /etc/bash.bashrc
System wide functions and aliases
を含むDebianベースのLinux)。デフォルトでは、これは非対話型、非ログインシェルの場合でも設定されます。
編集:
パスのtilde
は、現在ログインしているユーザーのhome directory
を示します。 Bashは、コマンドの読み取りと実行に、~/.bash_profile, ~/.bash_login, or ~/.profile
(現在ログインしているユーザーごと)の1つのみをこの順序で使用できます。 (Debianベースのオペレーティングシステムには通常、~/.bash_profile or ~/.bash_login.
ファイル~/.profile
がありません。このファイルは、次の場合を除いて、ファイルが読み取られて使用されることを説明しています。 ~/.bash_profile or ~/.bash_login
が作成されます。
#~/.profile: executed by the command interpreter for login shells.
#This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
が存在します。
コメント
- これは私の質問にどのように答えますか?
- @BROYこれは、あなたがした質問ではなく、すべき質問に答えます。
- プロジェクトディレクトリに.bash_profileファイルを置く人を見たことがありますが、それは本当にbashによって取得されますか?'私は'はデフォルトで発生するはずです。
回答
あなたのbashrc
ファイルの場所はディストリビューションに依存します…システムの基本的なリストは次のとおりですbashrc
:
/etc/bashrc
(Redhat、Fedoraなど)
/etc/bash.bashrc
(Debian、Ubuntu、Linux Mint、Backtrack、Kaliなど)
/etc/bash.bashrc.local
(Suse、OpenSuseなど)
次に、プライベートシングルユーザーbashrc
があり、ほとんどの場合
基本的にすべてのディストリビューション…リストされているディストリビューションがない場合、または特別なシステムがある場合は、いつでもbashrc
そのディストリビューションまたはシステムのGoogle上の場所…
よろしくお願いします。
興味深い…
回答
すでに述べたように、bashrcのスケルトンは/etc/skel/.bashrcにあります。異なるユーザーが異なるbash構成を必要とする場合は、そのユーザーのホームフォルダーに.bashrcファイルを配置する必要があります。
.bash_profileと.bash_loginに関しては、ユーザーはそれらを手動で作成し、bashrcを介してリンクする必要があります。 。 bash_profileとbash_loginは、ロードするさまざまな設定に対してより整理された感触を作成するために存在します。私は個人的にすべてのエイリアスをbash_profileに保持しているので、bashrcの混乱を整理してすばやく編集する必要はありません。
.bashrcファイルにあるものの例を次に示します。
if [ -f ~/.bash_profile ]; then . ~/.bash_profile fi