読者です 読者をやめる 読者になる 読者になる

はわわーっ

はわわわわっ

bashのエラー処理とか

bashのエラー処理まわりわからないので適当にメモ。 #!/bin/bash -eu exec 3> >(tee e.log) >&3 2>&3 may_fail() { test $(( $1 % 3 )) -ne 1 } commands_may_fail() { may_fail $1 echo "may_fail err $?" } main() { local i= for i in `seq 0 9`; do echo…

bashのコーディングスタイル

googleのやつを見つけた。https://google-styleguide.googlecode.com/svn/trunk/shell.xml

シェルスクリプトで現在のgitのブランチを取得する

とりあえずやってみた。 % git branch hoge * master % cat gitbranch.sh #!/bin/bash function getBranch() { echo $(git status --branch --porcelain | head -n 1 | sed 's/## //') } saveBranch="$(getBranch)" test "$(getBranch)" == 'master' && echo…

bashで関数に配列をわたす

eval 使うと簡単にできそうだったのでちょっとやってみた。 #/bin/bash function do_something_array() { eval local -a array=$1 echo "(${array[@]})" } do_something_array "(hoge fuga piyo)" array=(hoge fuga piyo) do_something_array "(${array[*]})…

[bash] コマンドの引数を配列にする

コマンドの引数を全部まとめて配列にいれたいときは a=($@) みたいにやればいいので簡単にできる。ただ、この方法だと引数の一部を配列にしたい時とか配列を複数わたしたい時とかに困る。いろいろ試行錯誤しながらこんな感じのfunctionにしてみた。 function…

[bash] いろんなファイルを解凍するコマンドを作ってみた

tar.gz形式のファイルをダウンロードしたつもりで tar -zxvf hogehoge.tar.gzとかやったら、実はzipでしたって言われてイラッときたので作ってみた。拡張子をみて、それに合わせて解凍するコマンド function unpack() { if test -z "$1"; then echo "usage: …