タグ

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

  • 関連タグはありません

タグの絞り込みを解除

linuxとLINUXとbashに関するCLSmoothのブックマーク (3)

  • 原理原則で理解するbashの仕組み - Qiita

    はじめに 以前書いたエントリー、重大な脆弱性(CVE-2017-5932)で少し話題になったbash4.4の補完機能の便利な点で、bash4.4からでないとタブの補完機能のソート処理が制御できないという問題について、ソースコードレベルで調べた結果をまとめていたのですが、bashの実装そのものを深く掘り下げ過ぎてしまい、内容が膨大になったので、何回かに分けて書こうと思います。 今回はbashが起動されてからインタラクティブモードでキーボードの入力を待ち受けるまでのお話です。普段使っているbashがどのような処理を行っているのか一緒に覗いてみませんか? 検証ソースコード Bash version 4.1.0(1) release GNU bashの生誕 bashのプロセスが起動されるのはOSへのログイン時にユーザーのログインシェルがbashに設定されている場合、あるいはログイン後に明示的にba

    原理原則で理解するbashの仕組み - Qiita
  • 本当に正しい .bashrc と .bash_profile の使ひ分け - Qiita

    適当にググると「とにかく何でも .bash_profile に書いとけばおk」みたいな嘘を書いたブログ記事がわんさか出てくるのでここに正解を書いておきます。 .bash_profile .bash_profile はログイン時にのみ実行されます。具体的な用途は: 環境変数を設定する (export する変数) 環境変数はプロセス間で勝手に受け継がれるのでログイン時のみ設定すれば十分です。 .bashrc .bashrc は対話モードの bash を起動する時に毎回実行されます。具体的な用途は: 環境変数でない変数を設定する (export しない変数) エイリアスを定義する シェル関数を定義する コマンドライン補完の設定をする これらは bash を起動する度に毎回設定する必要があるものです。 その他 .bash_profile ? .bashrc ? いろいろあるけどこいつらなにもの?

    本当に正しい .bashrc と .bash_profile の使ひ分け - Qiita
  • bash で Ctrl-C をフックする方法 - pyopyopyo - Linuxとかプログラミングの覚え書き -

    bash で Ctrl-C をフックする方法、つまりSIGINTを自前のシグナルハンドラで捕捉する方法についてメモ。 概要 シグナルハンドラを設定するには、trap というbashのビルトイン・コマンドを使います #!/bin/bash hander() { echo "recv!!" } trap hander SIGINT while /bin/true; do : ; done Ctrl-Cを押すと SIGINT という名前のシグナルがプロセスに通知されるので、trapコマンドで SIGINT を受け取ったら hander という関数を呼ぶように設定しています このシェルスクリプトは実行すると末尾で無限ループになるだけです。ただCtrl-C を押しても、シェルスクリプトは終了せず、代わりに hander()関数が呼ばれて"recv!" という文字列が画面に表示されます Ctrl-Cで

    bash で Ctrl-C をフックする方法 - pyopyopyo - Linuxとかプログラミングの覚え書き -
  • 1