🐶

.bashrcに記述しておくと便利なコード

2020/10/01に公開

雑多な内容になりますが、linuxサーバを構築した際に.bashrcに記述しておくと便利になるかも?ってコードの紹介です。

一般

起動時のディレクトリを指定する

e.g.
#working directory (WSL)
cd /mnt/c/git/github/

git-town

pull requestを実施する時のタイピングをサボるために作成

#git-town
alias prq='git-town new-pull-request'

kubernetes関連

コマンド補助

#k8sのコマンド補助をさせる
source <(kubectl completion bash)

kubectl edit のエディタを指定する

#kubectl edit のエディタを指定する default vi or notepad
export EDITOR=vim

コンソール上でnamespaceが表示されるようにする

#K8s用の表記を変更する
source ~/kube-ps1/kube-ps1.sh
PS1='[\u@\h \W $(kube_ps1)]\$ '

導入方法自体はここでは割愛します。下記URLのREADMEに詳細が記載されていますので利用する場合は参照してください。
https://github.com/jonmosco/kube-ps1

kubectl コマンドのエイリアス用

function kubectl() { echo "+ kubectl $@">&2; command kubectl $@; }

導入方法自体はここでは割愛します。下記URLのREADMEに詳細が記載されていますので利用する場合は参照してください。
https://github.com/ahmetb/kubectl-aliases

※余談
コマンドと同じ名前のfunction作ってなんで問題なく動くん?が気になったので少し調べてみました。どうも下記のような挙動をしているので問題なく稼働するようです。

例えばkgpo(kubectl get pod のエイリアス)と打つと、、、

  1. エイリアスセットされてるコマンド: kubectl get podを実行したいのだと認識される

  2. kubectl という文字列が入力されたのでfunctionのkubectl が呼ばれる

  3. function内の処理が実行され

    • 前半のechoでkubectl文字列と引数としてセットされたget podがコンソール上に表示
    • 後半のcommandコマンドとしてのkubectlを実施する

Discussion