タグ

Linuxとプログラミングに関するstarneon3517のブックマーク (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
  • 使いやすいシェルスクリプトを書く

    できればシェルスクリプトなんて書きたくないんだけど,まだまだ書く機会は多い.シェル芸やワンライナーのような凝ったことではなく,他のひとが使いやすいシェルスクリプトを書くために自分が実践していることをまとめておく. ヘルプメッセージ 書いてるシェルスクリプトが使い捨てではなく何度も使うものである場合は,体を書き始める前に,そのスクリプトの使い方を表示するusage関数を書いてしまう. これを書いておくと,後々チームへ共有がしやすくなる.とりあえずusage見てくださいと言える.また,あらかじめ書くことで,単なるシェルスクリプトであっても自分の中で動作を整理してから書き始めることができる.関数として書くのは,usageを表示してあげるとよい場面がいくつかあり,使い回すことができるため. 以下のように書く. function usage { cat <<EOF $(basename ${0})

  • Bash基礎文法最速マスター - いろいろ解析日記

    Bashの文法一覧です。他の言語をある程度知っている人はこれを読めばBashの基礎をマスターしてBashを書くことができるようになっています。簡易リファレンスとしても利用できると思いますので、これは足りないと思うものがあれば教えてください。 1.基礎 echo文 echo文です。 echo "Hello world" コメント コメントです。 # コメント 変数の宣言 変数の宣言です。 # 文字列変数 declare str # 数値変数 declare -i num # 配列変数 declare -a array スクリプトの実行 スクリプトを実行するにはコマンドラインで次のようにします。 bash script.sh 出力結果をファイルに書き出すにはリダイレクトを使います。 bash script.sh > file.txt 文法チェック 事前に文法チェックを行うには、次のようにします

    Bash基礎文法最速マスター - いろいろ解析日記
  • 1