Edited at

俺のbash_profileがこんなにキモいわけない


唐突ですがbash_profile晒してく

改めて見ると散らかっててキモい。

使ってないのも混ざってるし。

なんのために書いたのかもわからないやつとか。

そんな僕のmacの.bash_profileです。説明を加えながら晒します。

参考にするなり、指摘するなりお好きにどうぞ(・ω・`)

解説を先に見たい方はこちらから


晒す

.bash_profileをコピー

$ cat ~/.bash_profile | pbcopy


alias ll='ls -lahG'

alias vi='vim'
alias mvi='/Applications/MacVim.app/Contents/MacOS/mvim'

alias areion='sh /Users/ore_no_mac/tools/script/Areion/areion.sh'
alias slssh='sh /Users/ore_no_mac/tools/script/SLS/sls.sh'
alias hr='sh /Users/ore_no_mac/tools/script/horizontal_rule/hr | grep "☆" --color="auto"'

alias ff='find . -type f'
alias datedir='mkdir `date "+%Y%m%d"`';
alias datetouch='touch `date "+%Y%m%d"`.txt';

## screen alias
alias sn="/usr/bin/screen $@ ";

# docker alias
alias doc='docker'
## docker all clear
alias docker-all-clear='docker rm -f $(docker ps -aq) && docker rmi -f $(docker images -aq)'

alias memo='vi /Users/ore_no_mac/tools/script/Stacker/`date "+%Y%m%d"`.md';
alias memos='cd /Users/ore_no_mac/tools/script/Stacker/';

## googler alias
alias gg="/usr/local/bin/googler -n 3 $@ ";
## redmine_link
alias chrm="open /Applications/Google\ Chrome.app"
alias red_pass="chrm http://社内サーバーのredminURL"

# git alias
alias git-graph='git log --graph --pretty=format:"%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset" --abbrev-commit --date=relative'
alias git-graph-all='git log --graph --all --pretty=format:"%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset" --abbrev-commit --date=relative'
alias git-detail='sh /Users/ore_no_mac/tools/script/power_git/detail.sh'

## ========================================
## | ↓↓これより以下は説明を省きます↓↓ |
## ========================================

export CLICOLOR=1
export LSCOLORS=DxGxcxdxCxegedabagacad
# export LSCOLORS=gxfxcxdxbxegedabagacad

if [ -f /Applications/MacVim.app/Contents/MacOS/Vim ]; then
alias vi='env LANG=ja_JP.UTF-8 /Applications/MacVim.app/Contents/MacOS/Vim "$@"'
alias vim='env LANG=ja_JP.UTF-8 /Applications/MacVim.app/Contents/MacOS/Vim "$@"'
fi

# export PS1="\[\e[1;32m\][\u@\h \W]\\$ \[\e[m\]"
export PS1="\[\e[1;32m\]\d :\W\\[\e[1;34m\] \$ \[\e[m\]\[\e[m\]"

RUBY_HOME='/usr/local/opt/ruby' #インストールディレクトリ
RI="--format ansi" # riを256カラーで表示
PAGER="less -R" # ページャーにlessを指定
PATH=$RUBY_HOME/bin:$PATH

export PATH PAGER RUBY_HOME RI
export PATH=$PATH:$HOME/.nodebrew/current/bin

if [ -d "$HOME/.rbenv" ]; then
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init --no-rehash -)"
fi
export PATH="/usr/local/opt/libxml2/bin:$PATH"
export PATH=$PATH:$HOME/.nodebrew/current/bin

if [ -f ~/.bashrc ] ; then
. ~/.bashrc
fi

export PATH="/usr/local/opt/php@5.6/bin:$PATH"
export PATH="/usr/local/opt/php@5.6/sbin:$PATH"
export PATH="/usr/local/opt/php@7.1/bin:$PATH"
export PATH="/usr/local/opt/php@7.1/sbin:$PATH"
export PATH="/usr/local/opt/php@7.2/bin:$PATH"
export PATH="/usr/local/opt/php@7.2/sbin:$PATH"

## AWS-Cli用
export PATH=~/.local/bin:$PATH

## kubernetes
#export KUBECONFIG=/etc/kubernetes/admin.conf


解説

ほとんどの記述がaliasとなっています。

作業効率UPのために結構色々記述してて見辛いので、細かく分けて解説するっす。


lsコマンドのalias

llは恐らく一番利用してるコマンドです。

ls -lahは割と一般的ですが、Gオプションをつけるとシンボリックリンクを色分けしてくれます。


alias ll='ls -lahG'


vimのalias

この書き方意味あるのかな。。。

which viすると/usr/bin/viって返ってくるから、多分vim、viとしてパスが通ってる?


alias vi='vim'
alias mvi='/Applications/MacVim.app/Contents/MacOS/mvim'


自作スクリプト


  • areion


    • パスワード管理ツール。最近あまり使ってない



  • slssh


    • サーバー構築時によく使う。ssh/configのHostを一覧表示し、選択したHostにSSHログインする



  • hr


    • 特定の文字をターミナルの文字数(幅)で出力




alias areion='sh /Users/ore_no_mac/tools/script/Areion/areion.sh'
alias slssh='sh /Users/ore_no_mac/tools/script/SLS/sls.sh'
alias hr='sh /Users/ore_no_mac/tools/script/horizontal_rule/hr | grep "☆" --color="auto"'


ファイル捜査コマンド

find . -type fコマンドのaliasとして登録してます。

用途としては、grep等と組み合わせてファイル捜査に利用してます。


alias ff='find . -type f'


  • 現在のディレクトリ配下から"README.md"というファイルを探し、パスを表示

ff | grep "README.md"


  • 現在のディレクトリ配下から"hogehoge"を内容に含むファイルのパス・一致する内容を表示

  ff | xargs grep "hoge"

./huga/piyo.php: // hogeしたい


ファイル生成コマンド

現在の日付でフォルダ、ファイル(txt)を作成するコマンドのalias

alias datedir='mkdir `date "+%Y%m%d"`';

alias datetouch='touch `date "+%Y%m%d"`.txt';


screenのalias

screenコマンドのalias

あまり役にっ立てない

alias sn="/usr/bin/screen $@ ";


docker系のコマンド

dockerコマンドのalias等。


# docker alias
alias doc='docker'
## docker all clear
alias docker-all-clear='docker rm -f $(docker ps -aq) && docker rmi -f $(docker images -aq)'


  • doc


    • あまり使ってない



  • docker-all-clear


    • dockerイメージなどを全て消す感じのコマンド。データベースなどを保持している場合は注意が必要




メモを作成するコマンド

議事録とかを作成するときに便利


alias memo='vi /Users/ore_no_mac/tools/script/Stacker/`date "+%Y%m%d"`.md';
alias memos='cd /Users/ore_no_mac/tools/script/Stacker/';


ターミナルからブラウザ操作

ターミナルからブラウザを操作する


## googler alias
alias gg="/usr/local/bin/googler -n 3 $@ ";
## redmine_link
alias chrm="open /Applications/Google\ Chrome.app"
alias red_pass="chrm http://社内サーバーのredminURL"


  • gg


    • ターミナルでgoogle検索する



  • chrm


    • ターミナルからChromeを起動



  • red_pass


    • Chromeで社内サーバーのRedmineを開く




git系のコマンド

git系のコマンドalias


# git alias
alias git-graph='git log --graph --pretty=format:"%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset" --abbrev-commit --date=relative'

alias git-graph-all='git log --graph --all --pretty=format:"%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset" --abbrev-commit --date=relative'

alias git-detail='sh /Users/ore_no_mac/tools/script/power_git/detail.sh'


  • git-graph


    • コミット履歴をツリー形式で閲覧



  • git-graph-all


    • git-graphをさらに詳しく閲覧



  • git-detail



    • sh /Users/ore_no_mac/tools/script/power_git/detail.shを実行



自作のスクリプト power_git/detail.sh の中身


#!/bin/bash

echo "";
sh /Users/ore_no_mac/tools/script/horizontal_rule/hr | grep "★" --color="auto"
git remote -v | awk 'NR==2 { print "リポジトリ: " $2 }'
git branch | grep "\*" | awk '{ print "ブランチ: " $2 }'
echo "";
echo "==============Status===================="
git status
echo "========================================"
sh /Users/ore_no_mac/tools/script/horizontal_rule/hr | grep "★" --color="auto"
echo "";


おまけ

「解説を省略」と書いてましたが、PS1について。

プロンプトの表示を変更できます。

export PS1="\[\e[1;32m\]\d :\W\\[\e[1;34m\] \$ \[\e[m\]\[\e[m\]"

ローカルでは特にこだわった設定はしていませんが、サーバーにSSHログインした際、環境ごとに文字色を変更したりします。

詳しくは 「ps1 変更」 とかで検索すると出てくるかと思います。


初感

ざっと解説してみて、改めて必要ないものや設定の怪しいものがありました。

改善の余地ありですね。