web-dev-qa-db-ja.com

ログインするたびに.bashrcを実行すべきではありませんか?

Ubuntuの新機能は、奇妙なことを言っても許します...本当にやりたいことは、lsコマンドをls --color=always -ragXに変更することだけです

それは解決しました... Aliasはうまくいきます。これで、ログインするたびに実行されるようになりました(PuTTYからコマンドラインにSSHでログイン)。ホームディレクトリに.bashrcを作成して入力しました

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

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

タイプvi

.bashrcファイルが実行されていないように見えますか?それで?

2
Everseeker

https://www.gnu.org/software/bash/manual/bashref.html#Bash-Startup-Files を参照してください

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

上記の~/.bashrcには言及していないことに注意してください。

interactiveShellであるnot not loginShellが開始されると、Bashそのファイルが存在する場合、~/.bashrcからコマンドを読み取り、実行します。これは、-norcオプションを使用して禁止できます。 --rcfile fileオプションは、Bashに〜/ .bashrcの代わりにfileからコマンドを強制的に読み取らせて実行させます。

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

または、これを~/.bash_profileに追加できます

[[ -f ~/.bashrc ]] && . ~/.bashrc
4
glenn jackman

注意すべきいくつかの点:

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

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

  3. .bashrcファイルはホームディレクトリにある必要があります。これを確認するには、単にvi ~/.bashrcではなくvi .bashrcなどのファイルを編集します

0
Sam King

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

それはそれを作るはずです....

0
snapo

Ubuntuでは、bashログインは他のDistroと同じように機能します。

使用したように、.bashrcにエイリアスを追加したら:

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

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

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

0