毎日の開発が快適になる!私のお気に入りBashハック集
1日中コンピュータに向かって仕事をしていると、繰り返し使うコマンドを見つけて登録しておき、あとで簡単に呼び出せるようにするのがとても便利です。それらのコマンドは~/.bashrc(Zshユーザーなら~/.zshrc)の中に静かに待機していて、あなたの作業をいつでもサポートしてくれます。
この記事では、私がよく忘れてしまう操作のために使っているお気に入りのヘルパーコマンドをいくつか紹介します。皆さんの時間と手間の節約になれば嬉しいです。
完了したら読み上げてくれる「looooooooong」関数
実行時間の長いコマンドを使うとき、私はよく並行して別の作業をしていて、後から「処理は終わったかな?」と確認しに戻らなければなりませんでした。しかし、このsayコマンドを組み合わせた関数(MacOS用です。Linuxならespeakやspd-sayなど、お使いの環境に合わせて置き換えてください)を使うようになってからは、その必要がなくなりました。
function looooooooong {
START=$(date +%s.%N)
$*
EXIT_CODE=$?
END=$(date +%s.%N)
DIFF=$(echo "$END - $START" | bc)
RES=$(python -c "diff = $DIFF; min = int(diff / 60); print('%s min' % min)")
result="$1 completed in $RES, exit code $EXIT_CODE."
echo -e "\n⏰ $result"
( say -r 250 $result 2>&1 > /dev/null & )
}
この関数は、コマンドの開始時刻と終了時刻を記録し、所要時間(分)を計算して、実行したコマンド名・所要時間・終了コードを読み上げてくれます。単純なコンソールベルだけでは物足りない場面で、とても役立ちます。
パッケージインストールのヘルパーエイリアス
私はUbuntu Lucidの時代からUbuntuを使い始めました。最初に覚える必要があったことのひとつが、パッケージのインストール方法でした。そして最初に追加したエイリアスのひとつが、こちら(当時流行っていたミームにちなんだ名前です):
alias canhas="sudo apt-get install -y"
GPG署名(GNU Privacy Guard)
拡張機能や専用アプリなしでGPGでメールに署名しなければならないとき、私はコマンドラインに降りて、このちょっとダサい(でも便利な)エイリアスを使います:
alias gibson="gpg --encrypt --sign --armor"
alias ungibson="gpg --decrypt"
Docker
Dockerのコマンドはたくさんありますが、docker composeのコマンドはさらにたくさんあります。私は以前、--rmフラグを付け忘れがちでしたが、以下の便利なエイリアスのおかげでもう忘れることはありません:
alias dc="docker-compose"
alias dcr="docker-compose run --rm"
alias dcb="docker-compose run --rm --build"
Google Cloud向けのgcurlヘルパー
これは私にとって比較的新しく取り入れたものですが、公式ドキュメントも充実しています。gcurlは、Google Cloud APIを扱う際に、認証ヘッダーを付けたローカルのcurlコマンドを実行するときに、必要な正しいフラグをすべて確実に指定できるようにしてくれるエイリアスです。
Gitと~/.gitignore
私はGitでの作業が多いので、Gitヘルパーのために特別なセクションを設けています。
最も役立っているヘルパーのひとつが、GitHubリポジトリをクローンするためのものです。通常なら次のように長いパスを指定して実行します:
git clone git@github.com:org/repo /Users/glasnt/git/org/repo
その代わりに、私は次のようなクローン関数を設定しました:
clone(){
echo Cloning $1 to ~/git/$1
cd ~/git
git clone git@github.com:$1 $1
cd $1
}
~/.bashrcファイルを開くたびに思わず笑ってしまうのですが、「upstreamを更新」するためのコマンドも登録しています:
alias yoink="git checkout master && git fetch upstream master && git merge upstream/master"
もうひとつのGitヘルパーは、グローバル除外ファイルです。git config --global --listを実行すると、core.excludesfileの設定が表示されるはずです。表示されない場合は新しく作成し、個々の.gitignoreファイルに毎回書いているような項目をまとめて登録しましょう。MacOSでPython開発をしている私の場合は、次のようになっています:
.DS_Store # macOSの不要ファイル
venv/ # 仮想環境は絶対にコミットしたくない
*.egg-info/* # ローカルでビルドしたパッケージも同様
__pycache__ # ソースキャッシュも対象外に
*.swp # vimで開いていた一時ファイルも
その他の候補については、Gitignore.ioや、GitHub上のGitignoreリポジトリで多数のテンプレートを見つけることができます。
あなたの番です
あなたのお気に入りのヘルパーコマンドは何ですか?ぜひコメント欄で共有してください。
-
Windows 10にGit Bashをインストールする方法【初心者向け完全ガイド】
Git Bashは、Windows上でGitのコマンドライン操作を実現するためのターミナルエミュレータです。Git Bashを使えば、ターミナル上で直接コードの変更作業を行えるため、AtomやNotepad++など別のコーディング環境を用意する必要がありません。 Gitは多くのLinuxディストリビューションに標準でインストールされていますが、Windowsを使用している場合は、以下の手順に従ってWindows 10にGit Bashをインストールしましょう。 WindowsにGit Bashをインストールする手順 公式ダウンロードページからWindows向けGitをインストールするのは簡単
-
Git BashからWindowsでSublime Textを起動する方法|エイリアス設定の完全ガイド
Git Bashから直接Sublime Textエディタを開きたいと思ったことはありませんか?この記事では、その手順をわかりやすく解説します。設定自体はとてもシンプルなので、この記事を読み終える頃には、Git BashからワンコマンドでSublime Textを起動できるようになっているはずです。筆者も最初は設定方法に少し時間がかかりましたが、その経験で得た知識をここで共有します。ぜひ参考にしてください。前提条件作業を始める前に、以下の2点を確認しておきましょう。Sublime Textエディタがインストール済みであることGitがインストール済みであることはじめに:Sublime Textとは