理系学生日記

おまえはいつまで学生気分なのか

bash

標準出力と標準エラー出力を同時にパイプに送る時のTips

標準エラー出力と標準出力を同時にパイプに送るとき、2>&1 | と記述することが多いでしょう。 $ ls /etc/hosts /notexist 2>&1 | cat > ls.dat $ cat -n ls.dat 1 ls: cannot access '/notexist': No such file or directory 2 /etc/hosts Bash Reference Ma…

なぜ今シェルスクリプトを学ぶのか・シェルスクリプトのTips

会社の中でシェルスクリプトについての話をすることにしたので、このエントリはそのためのものです。 個人的な好みとかもいろいろ入ってしまっているので、そのあたりは取捨選択してください。 なぜ今シェルスクリプトを学ぶのか 公開されているSRE本をマル…

Bash で endsWith (文字列が特定の文字列が終わるかを確認する)

Bash において、変数が特定の文字列で終わるかを確認したいケースがあります。 これ Bash のみで実現が可能です。 [[ ${user_arn} == *Terraformer ]] Bash における [ と [[ シェルスクリプトで使用される [ がコマンドである事実はよく知られていますが、[…

set -u した状態で変数に値が定義されているか否かの分岐を表現する

一般にシェルスクリプトでは set -eu しておけということを言われます。 -e はコマンド実行でエラーが発生した場合にそこでスクリプトの実行を終了する。 -u は誤って未定義変数を使用しようとしたときにエラーとする、という振る舞いになります。 shebang …