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

はむはむエンジニアぶろぐ

このブログのコンセプトは"ハッキングの為なら愛する家族を傷つけることをいとわない" 自分にとってエンジニアリングは "手段ではなく生きる目的" である

シェルスクリプト

.gitignoreをエイリアスコマンド一つで簡単に作れるようにした

.gitignoreの生成をアシストしてくれるツールとしてgibo というものがあります。 giboを使えば、言語やフレームワークに合わせて.gitignoreを標準出力してくれます。 なんて便利なんでしょう。 でも、2つ不満がります。 コマンド名を忘れる 標準出力するだ…

【シェルスクリプト】if文をワンライナーで書く方法

シェルスクリプトで、環境構築スクリプトをかいたりしますよね? よくあるのが、dotfilesディレクトリが存在しなければ git clone する。 当然、if文使うんですけどシェルスクリプトならワンライナーで書けます。 そう、シェルスクリプトならね。

シェルスクリプトでY又Nの入力のみ受け付ける機能を作る

コマンドを実行後に、実行しますか?[y/n] みたいなものってよく見ますよね? y又はn以外の文字を入力した場合、何度でも入力を促される。 自作シェルスクリプトを作成中にこのような機能が欲しくなりゴリゴリ書いていたら凄く汚くないコードが出来上がったw…

シェルスクリプトでC言語のfor文と同等のことをする

シェルスクリプトのfor文って他の言語にあるforeachのようなもので、回数による繰り返しではありません。 しかし、少し工夫をするとシェルスクリプトでもC言語のfor文と同等のことが出来ます。

【Git】サブコマンドを作ってみた!カレントブランチ名の変更が簡単に

Gitは、自作のサブコマンドを簡単に登録することができます。 実行パスが通っているディレクトリに git-サブコマンド名 のファイルを作成すれば、 git サブコマンド名 で呼び出すことができます。 サブコマンドのファイルに実行したい処理を記述すれば、自作…

カレントディレクトリ以下にあるファイルを対象にファイル内の文字列を置換するコマンド作ったった

カレントディレクトリ以下にあるファイルを対象に、ファイル内の文字列置換したいなんてことよくありますよね? 毎回ググって、コマンドをパイプしてごにょごにょするのも面倒くさいので、シェルスクリプトでコマンドを作りました。

標準出力を利用した簡単なcronの死活監視

cronにjobを登録して実行するのは、簡単ですが死活監視の設計は難しいところです。 だれに?どのように? jobが失敗したことを伝えるか? よくあるのは、メールとかですね。 最近は、Slackのようなチャットツールを使ってリアルタイムにpush通知したりします…

Makefileとシェルスクリプトを使ってテンプレートからファイルを作成する

例えば、PHPクラスを作成しようとした時に、PHPクラスを cp して、ファイル名変更。 コピーした新しいクラスをエディッタで開き、クラス名を変更。 コピーミスでトラブったりクラス名変更し忘れてテスト通らないとかあるあるだと思います。 Makefileとシェル…

Makefileで、例外処理を行う

Makefileで、ある一連の処理が失敗した時にリカバリ処理などの例外処理を行いたい。 シェルスクリプトの || を使えば行うことが出来る。