タグ

linuxとbashに関するsh2nm0k2のブックマーク (5)

  • コマンドラインツールを書くなら知っておきたい Bash の 予約済み Exit Code - Qiita

    上記の表の通り,Exit Code 1, 2, 126〜165, 255 は特別な意味を持ち,スクリプトやプログラム内で exit に指定するパラメータとしては避けるべきである.とりわけ,Exit Code 127 はトラブルシューティングで混乱の元である("command not found" で終了したのか,プログラム固有のエラーなのか区別できなくなる).しかしながら,多くのスクリプトが exit 1 を一般的な実行を続行できないエラーとして使っている.Exit Code 1 は Bash の一般的なエラーを含め,とても多くのエラーで発生しうるので,デバッグの時に切り分けが大変になるだろう. Exit Code を体系立てて定義する試みはある(/usr/include/sysexits.h)が,これは C と C++ プログラマー向けである.スクリプトに関しても同様な感じにするのが適切

    コマンドラインツールを書くなら知っておきたい Bash の 予約済み Exit Code - Qiita
  • Bash のプロセス置換が便利な件 - 理系学生日記

    Bash にはプロセス置換という便利な機能があります。しかしこの機能、あまり知名度が高くない。 ぼくは毎日の労働に疲れ果てているし、日学生支援機構という組織から毎月金を請求され、しまいには信用情報機関に登録される寸前までいくような生活を送っているというような状態なので、みなさんにこのプロセス置換という機能をご説明して気を紛らわすことに決めた。 プロセス出力をファイルとして扱うと便利なケース 一般に、unix でファイルの差分をチェックするには diff を使います。 例えば、それぞれ 1〜3 と 1〜4 が順番に入力された 2 つのファイルがあるとすると、次のような感じで比較しますね。 瞬時に 4 だけが仲間外れであることが分かり、同質であることを良しとし異端を排除する日においては、杭として打たれ、イジメの対象となります。とてもこわいですね。はーこわい。 $ diff -u seq3.

    Bash のプロセス置換が便利な件 - 理系学生日記
  • bashでストリームデータ処理 - Qiita

    <でファイルや名前付きパイプ(named pipe, fifo)から標準入力へデータを流すことでき、>で標準出力をファイルや名前付きパイプへ流すことができます。 分配 一つのデータストリームを複数のプロセスに分配するパターンです。「放送(ブロードキャスト)」と言ってもいいかもしれません。 基的にはteeコマンドで実現できます。 名前付きパイプを使う場合

    bashでストリームデータ処理 - Qiita
  • 連番ファイルをコマンド一発で作成する

    foo_1.txt, foo_2.txt, ・・・ , foo_100.txt の様な連番ファイルや、A.txt, B.txt, C.txt, ・・・ ,Z.txt の様な連続ファイルをコマンド一発で一括して作成します。 bashの拡張機能(ブレース展開の一部)を利用しているので、ファイル作成だけでなく、ディレクトリ作成や、echoの引数や、for文等にと、コマンド全般に利用できます。 テスト用の環境作成する時とかに知ってると結構便利です。 また、この拡張機能はbash-3.0-alphaから追加されたようなので、それ以前のbashでは利用できません。 Last Update : 2007年08月10日 連番ファイルをコマンド一発で作成する 項目 連番ファイルを作成する 連続ファイルを作成する インクリメント・デクリメントを利用する 1. 連番ファイルを作成する 例として、foo_1.tx

  • seq で 0 padding した数字列を作る

    Linux の seq コマンドは、シンプルな数列を作ってくれる。例えば、1 から 10 までの数字を表示させるには次のやうにする。 $ seq 10 1 2 3 4 5 6 7 8 9 10 途中の数字から始めたい場合は、その数字を第一引数にとる。5 から 10 までの数字列を得る場合の例は次の通り。 $ seq 5 10 5 6 7 8 9 10 このコマンドを何に使うのかというと、shell script の中で連番ファイルを作成するのに活用する。例えば、こんな感じ。 #!/bin/bash for i in `seq 10`; do echo $i.jpg done echo コマンドの代わりに、wget を使えば、連番ファイルのダウンロード。touch コマンドを使えば、連番ファイルの作成。etc... さて、10 個以上の連番ファイルを作る場合、0 パディングを加えておくと便利

  • 1