ログインするたびに .bashrc が実行されるべきではないでしょうか?

ログインするたびに .bashrc が実行されるべきではないでしょうか?

Ubuntuは初心者なので、言葉遣いがおかしくなったらご容赦ください。私が本当にやりたいのは、lsコマンドを次のように変更することです。ls --color=always -ragX

解決しました...エイリアスで十分です。ログインするたびにこれを実行するには(PuttyからコマンドラインにSSHで接続)、.bashrcホームディレクトリに作成して入力します。

alias ls='ls --color=always -ragX'

保存して終了し、戻ってきた

入力したvi

ファイルが実行されていないようです.bashrcが、どうすればいいでしょうか?

答え1

見るhttps://www.gnu.org/software/bash/manual/bashref.html#Bash-スタートアップファイル

Bashがインタラクティブログインシェルとして、または --login オプション付きの非対話型シェルとして、/etc/profileファイルが存在する場合は、まずファイルからコマンドを読み取って実行します。そのファイルを読み取った後、、、をこの順序で探し~/.bash_profile~/.bash_login存在~/.profileし読み取り可能な最初のファイルからコマンドを読み取って実行します。この動作を禁止するには、シェルの起動時に --noprofile オプションを使用できます。

注:~/.bashrc上記については言及されていません。

とき相互の作用シェルはログインではありませんシェルが起動すると、~/.bashrcそのファイルが存在する場合、Bash はそこからコマンドを読み取って実行します。これは、--norc オプションを使用して抑制できます。--rcfile ファイル オプションは、Bash に ~/.bashrc ではなくファイルからコマンドを読み取って実行するように強制します。

ターミナル アプリケーションの設定をチェックして、ログイン シェルが起動するかどうかを確認します。

あるいは、これを~/.bash_profile

[[ -f ~/.bashrc ]] && . ~/.bashrc

答え2

注意すべき点がいくつかあります:

  1. .bashrc ファイルは「実行」されないので、プロセスのリストを見てもどこにも表示されませんが、それで問題ありません。

  2. bash は起動時に bashrc ファイルを読み取るため、bashrc ファイルに変更を加えても、次に bash を実行するまで変更は有効になりません。bashrc ファイルへの編集をテストする場合、bash を再度実行するだけで簡単に変更を確認できます (たとえば、ターミナルを開いて「bash」と入力します)。Ubuntu からログアウトして再度ログインすると、変更も反映されます (画面をロックしたりスタンバイ状態にしたりすることはできませんが、ログアウトまたは再起動は可能です)。

  3. .bashrcファイルはホームディレクトリになければなりません。これを確認するために、次のようにファイルを編集しますvi ~/.bashrcvi .bashrc

答え3

muruがすでに言ったように、デフォルトでは(最初のログイン後)ホームディレクトリ/home/youloginnameに.bashrcがあるはずです。

既存の bashrc を保護するには、次のコマンドでコピーを作成してください。

cp ~/.bashrc ~/mybashrc.backup

この後、デフォルトの .bashrc を復元できます。これを行うには、まず既存のものを削除し、次にシステム全体の bashrc からコピーします。まだ行っていない場合は、ファイルに適切な権限を設定してください。

rm ~/.bashrc
cat /etc/bash.bashrc > ~/.bashrc
chmod 644 ~/.bashrc

その後、ホームの .bashrc ファイルに変更を加えます。完了したら、ログオフやログオン、再起動の必要はありません。次のコマンドで bashrc を再読み込みするだけです。

source ~/.bashrc

それで大丈夫でしょう...

答え4

Ubuntu では、bash ログインは他のディストリビューションと同じように機能します。

次のようにして .bashrc にエイリアスを追加します。

alias ls='ls --color=always -ragX'

ログインするたびに ls を自動的に実行するには、.bashrcファイルの最後の行に追加するだけです。

lsログイン時にまたはの出力が表示されない場合は、ファイルls --color=always -ragXにエラーがある可能性があります.bashrc

関連情報