LoginSignup
7
7

More than 5 years have passed since last update.

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

Last updated at Posted at 2019-01-28

唐突ですが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 変更」 とかで検索すると出てくるかと思います。

初感

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

7
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
7