【第14回】potatotips(iOS/Android開発Tips共有会) コマンドなしでぼくはAndroid開発できない話

できればシェルスクリプトなんて書きたくないんだけど,まだまだ書く機会は多い.シェル芸やワンライナーのような凝ったことではなく,他のひとが使いやすいシェルスクリプトを書くために自分が実践していることをまとめておく. ヘルプメッセージ 書いてるシェルスクリプトが使い捨てではなく何度も使うものである場合は,本体を書き始める前に,そのスクリプトの使い方を表示するusage関数を書いてしまう. これを書いておくと,後々チームへ共有がしやすくなる.とりあえずusage見てくださいと言える.また,あらかじめ書くことで,単なるシェルスクリプトであっても自分の中で動作を整理してから書き始めることができる.関数として書くのは,usageを表示してあげるとよい場面がいくつかあり,使い回すことができるため. 以下のように書く. function usage { cat <<EOF $(basename ${0})
さて先日の設問編 http://d.hatena.ne.jp/Yamashiro0217/20120727/1343371036 の解答例です。 はてブとかトラックバックで解答例もらってて、あきらかに俺の解答よりよかったり面白かったりするので、 最後にまとめたので見てみると面白いと思う。 他の人の解答見てたらsortコマンドがファイルを受け取れるということに気づいた2012年夏。 uniq -c 使ってる人あんまりいない印象。 問1 >cat hoge.log 問2 >cat hoge.log | cut -d, -k1,4 問3 >grep server4 hoge.log 問4 >cat hoge.log | wc -l 問5 >cat hoge.log | sort -k1,1 -k3,3n -t, | head -5 問6 >cat hoge.log | sort -u | wc
他の言語をを書き慣れてから、シェルスクリプトを書こうとするとしょうもない部分でハマったりすることがあります。「簡単な処理だからシェルスクリプトで書くか」と思っても無駄に時間がかかってしまっては仕方ないですよね。 今回は初めてシェルスクリプトを書くときに、ハマりそうな点について説明をしたいと思います。 実行権限をつける 単純にファイルを生成しても下記の用に実行しようとしても実行はできません。 # touch test # ./test sh: ./test: Permission denied # touch foo # ./foo sh: ./foo: Permission denied これはファイルに実行権限がついていないため、起きる現象です。 chmodコマンドを使って実行権限をつけてやりましょう。 # chmod +x test # ./test # chmod +x foo #
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く