bash

[Linux] MD5の値を大量にチェックする

小ネタです。
例えばsplitコマンドなどで分割したファイルをダウンロードした際に、一つ一つMD5の値を確認するのはダルいですよね。md5sumコマンドでは、予め検証したいファイルのパスとそのMD5の値をペアで記述されたファイルを用意しておくと、一発で確認することでができます。

定義ファイルは以下のようにMD5値と、ファイルのパスを半角スペースなどで区切って書きます。

$ cat MD5SUM
f64062373f79e3fdabed57f6aec6d54d data/foo.zip.1
89063c79371e866afe627ddc221d3a9e data/foo.zip.2
993e1252af0e1fbd2435dcadd2a9fead data/foo.zip.3

あとは-cオプションでこの定義ファイルを渡せば自動的にチェックしてくれます。

$ md5sum -c MD5SUM
data/foo.zip.1: OK
data/foo.zip.2: OK
data/foo.zip.3: OK

続きを読む

[Linux] Bashでwgetの戻り値をチェックする

小ネタです。
シェルスクリプトを書いている際にwgetで正常にファイルをダウンロードできた場合のみ処理を継続したい場合には次のようなコードを書きます。

#!/bin/bash

wget 'https://example.com/foo.zip'

if [ $? -ne 0 ]; then
  echo "[ERROR] 正常にダウンロードできませんでした"
  exit 1
fi
  • $?は直前のコマンドの実行結果が自動的に入ります。
  • 比較演算子の-nenot equalの略で、値が等しくない場合に使用します。

続きを読む

bashで知能指数の低いbotを作成する

何らかのAPIを延々と自然な形で叩き続けたいときがありますよね。え?ないw? ←

JMeterのようなテスト用のフレームワークを使っても良いのですがそこまでするのは準備が面倒だし、ApacheBenchのようにDDoS…もとい負荷テストをするわけでもないといった場合にはbashのようなシェルスクリプトをちょちょいと書いてやると簡単に実現できます。

こういった類いのプログラムをゲーム界隈では「bot」や「バッチ」と呼称しています。

続きを読む