タグ

2022年9月20日のブックマーク (3件)

  • Bash: .bashrcと.bash_profileの違いを今度こそ理解する|TechRacho by BPS株式会社

    こんにちは、hachi8833です。社内Slackで見かけたmorimorihogeさんの以下の書き込みで目から鱗が落ちました。 ~/.bashrcで何かを出力してしまうと、rsyncなどのsshパイプで問題が生じることがあるそうです。 参考: 知らないとrsyncでもハマるシェル初期化 - Qiita これをきっかけに、できるかぎり一次情報を元になるべく一般的になるようにまとめてみました。 シェルスクリプト(.bashrcや.bash_profileなども含む)はあまりに自由に書けてしまい、LinuxディストリビューションやmacOSによって作法がまちまちだったりするので、外してはいけないポイントがどこかを知りたかったのでした。 対象はbashとsh(Bourne Shell)に限定します。また、デスクトップGUIの設定ファイルについては最小限にとどめます。 bashのmanページ 元記

    Bash: .bashrcと.bash_profileの違いを今度こそ理解する|TechRacho by BPS株式会社
    hidehara
    hidehara 2022/09/20
    これ読んだだけでは、あまり理解できなかった。。。
  • bash の設定ファイル読み込み仕様 - 彷徨えるフジワラ

    ログインシェルが bash に設定されている環境で、SSH 経由でログインなしのコマンド実行 (= 非対話的実行) を行うために、ユーザ独自の設定 (環境変数の変更/追加等) を設定ファイルに記述する際の注意点を、最初にまとめておきます。 SSH 経由でのコマンド実行に必要な追加設定は ~/.bashrc に記述する ~/.bashrc への記述追加の際には: [ -z "$PS1" ] && return のような、「非対話的実行時には、以降の設定評価を中断」する記述の有無を確認し 記述がある場合は、それよりも前の行で追加設定を記述する 「非対話的実行」の判定は、上記以外の方法でも可能です。必ずしも上記と同一の記述で対処しているとは限りませんから、注意してください(エントリ末尾でも、- パラメータを使った判定方法を例示しています)。 以下は、bash の設定ファイル読み込みの詳細に関す

    bash の設定ファイル読み込み仕様 - 彷徨えるフジワラ
    hidehara
    hidehara 2022/09/20
    bashrc って、bash実行時に常に読まれるわけじゃなくいのを4パターン+αにそって検証してくれてる。
  • bashの.profileや.bashrc等を実行する動作仕様 - sgryjp.log

    どうにも忘れがちなので、bash の設定ファイルの実行(ロード)処理を改めて整理してみた。ちょっとやる気を出して、今回は図付き。また各種設定ファイルの使い分けについても最後に書いておく。 はじめに 設定ファイルの実行(ロード)順序 Interactive login shell の場合 Interactive (non-login) shell の場合 Non-interactive shell の場合 各ディストリビューションの実装状況 *profile 系と *rc 系ファイルの使い分け (2019年12月29日:macOS の場合を追記、および章名等を含め表現改善) はじめに Bash は起動方法によって異なる設定ファイルを実行する。どの設定ファイルを実行するかを左右するのは、「ログイン用 (login) かどうか」、および「対話的インタフェースを提供する (interactive)

    bashの.profileや.bashrc等を実行する動作仕様 - sgryjp.log
    hidehara
    hidehara 2022/09/20
    対話的か否か。ログインシェルか否か。の組み合わせによって profile, bashrc などの読み取りファイルがかわります。