理系学生日記

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

shellscript

標準出力と標準エラー出力を同時にパイプに送る時の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本をマル…

シェルスクリプトから direnv を利用する

ディレクトリごとに環境変数を切り替えたいというユースケースはよくありますが、それを実現してくれるのが direnv です。 ぼくもこの direnv を利用して、AWS アカウントごとのアクセスキーを切り替えたりしています。 direnv は通常、各シェルの cd の実行…

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

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