タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

Shell-ScriptとBashに関するmasa8aurumのブックマーク (5)

  • 【完全版】歴史でシェルの設定ファイルを理解する - 全POSIXシェル対応 (.profie, .bash_profile, .bashrc, .zprofile, zshrc, etc.) - Qiita

    プロファイルでできることは環境の設定だけです。シェルの設定は実際にはできないことはないのですが、やっても無意味なことになるのでできないとします。無意味なことになるというのは新しく起動したシェルにはプロファイルで行うシェルの設定は反映されないということです。環境の設定とは、特定のシェルに依存しない初期化処理のことで、その一つが環境変数の設定です。環境変数は OS の機能であってシェルの機能ではありません。環境の設定には、他に stty コマンドによる端末の設定や umask コマンドによる umask の設定などがありますが、プロファイルで設定することはあまりありません。 rc ファイルでは環境の設定とシェルの設定の両方ができます。シェルの設定、例えばプロンプト文字列の設定やシェルの機能を有効にしたり補完スクリプトの読み込みなどは rc ファイルに書きます。つまり、ほとんどのことは rc フ

    【完全版】歴史でシェルの設定ファイルを理解する - 全POSIXシェル対応 (.profie, .bash_profile, .bashrc, .zprofile, zshrc, etc.) - Qiita
    masa8aurum
    masa8aurum 2024/11/05
    ・Bourne シェルは古すぎて POSIX に準拠していない ・zshはbashの後継ではなくkshの後継 / 知らなかった
  • Sed で文字列置換をするときはリダイレクトではなく -i オプションを使う - Qiita

    久々に sed を使ったらハマったので備忘録としてメモ。 やりたかったこと 以下のようなファイルがありました。

    Sed で文字列置換をするときはリダイレクトではなく -i オプションを使う - Qiita
    masa8aurum
    masa8aurum 2021/10/18
    ・UNIX シェルで `>` でリダイレクトを行うと、まずリダイレクト先のファイルを空で初期化する。 同じファイルに対してリダイレクトするのは危険。・sed でファイル内容を置換する場合は -i (--in-place) オプションを使う
  • シェルスクリプトの変数はダブルクォートしなければいけない!という話 - Qiita

    TL; DR 変数をダブルクォートしない使い方は上級者向けの危険な機能です! $@ と $*(または配列の全要素)をダブルクォートしない使い方は知る必要すらありません! ShellCheck を導入すれば誰でも簡単に正しい書き方がわかります!! 2021-08-21 補足 この記事は dash や bash などの POSIX シェルの一般的な動作を解説しており zsh のデフォルトとは異なります。記事の中でも説明していますが zsh の場合はシェルのオプションを変更することで POSIX 準拠の動作に変更することができます。zsh に関しては後半の「zsh に関する注意点」も参照してください。 はじめに プログラミング言語は、言語によって記号の意味が異なることがよくあります。クォーテーションマークはその一つです。C 言語ではシングルクォートは文字リテラル(一文字)を意味し文字列はダブルク

    シェルスクリプトの変数はダブルクォートしなければいけない!という話 - Qiita
    masa8aurum
    masa8aurum 2021/08/27
    ネット上のシェルスクリプトの例はクォートがダメな例が多いので、この記事のようなちゃんとした解説を読むべき
  • Bash semicolon being equal to newline is not exactly true?

    masa8aurum
    masa8aurum 2020/03/16
    bash の if 文や for 文でセミコロンと改行は等価ではない(thenやdoの後にセミコロンを入れるとエラー)理由 →正確には「リストの中で等価」なだけ
  • 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株式会社
  • 1