TL;DR
以前、村上さん(@ryuta69 )の記事を読んで、速攻で導入したエイリアス一覧を晒します。
【私的最強alias32選】忘れやすいコマンドは、『辞書化&ショートカット化』しちゃえばいい
こんな人におすすめです。
- コマンドを覚えられない
- コマンド打つのめんどい
- コマンドの打ち間違いが怖い
zshについて
macOSのCatalinaからzshが標準のシェルになりましたね。
bashから移行する方も多いと思うので、zshのtipsをまとめます。
zshエイリアスについて
zshのプラグインであるoh-my-zshをインストールすると、gitなどのエイリアスがいい感じに設定されます。
とはいえ
- 一連のコマンドを組み合わせた関数も欲しい。
- 自分にとってわかりやすいエイリアスを作りたい。
なので~/.zshrc
をいじってオレオレエイリアスを設定しました。
zshエイリアス設定方法
bashとは記法がちょっと異なります。
例えば、エイリアス名とコマンドをつなぐイコールの間に、半角スペースが入ってはいけない、とか。
単純なエイリアスの設定例は以下。
alias gitls="alias | grep git"
対話型の関数を作るときはecho
とread
を使います。
hoge()という関数を作るときの文法は以下の通りです。
hoge () {
echo 'Type your favorite food' && read food;
echo 'Your favorite food is '"${food}"', right?'
}
read
で入力した値がfood
という変数に格納されます。
呼び出すときは${変数}
という形で使えます。
hoge()のコンソールでの実行結果は以下のようになります。
-> % hoge
Type your favorite food // ここでcurryとタイプする
curry
Your favorite food is curry, right?
オレオレzshエイリアス公開
メインは現在業務でよく使う以下の3種類
- Firebase
- npm
- git
# zsh aliases
alias vz="vim ~/.zshrc"
alias sz="source ~/.zshrc"
alias rmf="rm -rf"
# Firebase aliases
alias fl="firebase login"
alias fi="firebase init"
alias fs="sudo firebase serve"
alias fd="firebase deploy"
alias fdf="firebase deploy --only functions"
# npm commands
alias nig="npm install -g"
alias nis="npm install --save"
alias nui="npm uninstall"
alias nuis="npm uninstall --save"
alias nls="npm ls"
alias niy="npm init -y"
alias nid="npm install --save-dev"
nvv() { npm view $1 version }
# Show all git alias commands
alias gitls="alias | grep git"
alias gc="git checkout"
alias gcd="git checkout develop"
alias gpd="git push origin develop"
alias gpm="git push origin master"
alias grm="git rm --cached"
alias gdn="git diff --name-only"
alias grh="git reset --hard HEAD^"
gmpd () {
git pull origin develop
echo "Type branche name to merge : " && read branch;
git merge ${branch};
git status;
echo "Is it okay to continue?" && read;
git push origin develop
}
# Push all changes to current branch
gcom () {
git add . && git status
echo "Type commit comment" && read comment;
git commit -m ${comment} && git push origin HEAD
}
mygcre () {
git init && git add . && git status && git commit -m "First commit"
echo "Type repository name: " && read name;
echo "Type repository description: " && read description;
curl -u YOURID:YOURPASSWORD https://api.github.com/user/repos -d '{"name":"'"${name}"'","description":"'"${description}"'","private":true}'
git remote add origin https://github.com/deatiger/${name}.git
git checkout -b develop;
git push -u origin develop;
}
個人的によく使うのはgcom()
やmygcre()
です。
gitは作業の流れの中で一連のコマンドを実行しますよね。
それを全て繋げて関数化しています。
「次はなんのコマンドだっけ...」といちいち意識する必要もありません。
うっかりおかしなコマンドを実行する事故も無くなりますね。
まとめ
シェルを使いこなすと作業効率が段違いですよ。
ぜひ活用してください。