bash でいつものコマンドを alias に追加したり PS1 を設定してカラフルに表示できるようにする

毎日以下のコマンドを打っていました。とても面倒です。

1
sudo vi /etc/hosts

Twitter でアドバイス頂いた所、alias を使用すると楽になるとのことです。以上のように実行すると、hosts と打っただけで sudo vi /etc/hosts と同じことができます。これは .bashrc や .bash_profile などに書いておくと良いです。

これで terminal を起動した段階で alias が設定されるようになります。ちなみに bash の場合は .bash_profile だが、他の場合だとファイル名が違いますのでその都度探してみましょう。

また、別件で PS1 について教えて頂きました。これについては下記のページを参考にすれば良いとのことです。

具体的には下記のように .bashrc などに書けば良いとのことです。こうする事でコマンドを打つのが楽になりますし、文字などもハイライトされて便利になります。

1
2
export PS1=”\[\e]0;\u@\h: \w\a\]\[\033[01;36m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ “
alias ls=”ls -G”; alias ll=”ls -alF”; alias la=”ls -A”; alias l=”ls -CF”

bash では PS1 という環境変数によってプロンプトを定義するらしく、このように exportコマンドで PS1 を変更すれば設定が書き換えられるとの事です。

詳細などについてはオライリーの bash 入門を読んだり、Linux コマンドのリファレンスを読めば良いとのことです。ちなみに、今回教えて頂いた @mitukiii さんの設定ファイルを紹介してもらいましたので引用させて頂きます。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# MacPorts
export PATH="$PATH:/opt/local/bin:/opt/local/sbin"
 
# Android
ANDROID_HOME="/Applications/android-sdk-mac_86"
export PATH="$PATH:${ANDROID_HOME}/tools"
 
# Ruby Version Manager
if [ -f $HOME/.rvm/scripts/rvm ]; then
  source $HOME/.rvm/scripts/rvm
fi
 
# Dropbox
DROPBOX_HOME="$HOME/Dropbox"
if [ -d $DROPBOX_HOME/bin ]; then
  export PATH="$PATH:$DROPBOX_HOME/bin"
fi
 
# Rsense
export RSENSE_HOME="$HOME/.emacs.d/elisp/rsense"
 
# Editor
export EDITOR="emacsclient"
 
# color
export PS1="\[\e]0;\u@\h: \w\a\]\[\033[01;36m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ "
 
# history
export HISTSIZE="10000"
export HISTFILESIZE="10000"
export HISTCONTROL="ignoredups"
 
# some more ls aliases
alias ls="ls -G"
alias ll="ls -alF"
alias la="ls -A"
alias l="ls -CF"
 
# other aliases
alias emacs="open -a /Applications/Emacs.app"
alias e="emacs"
alias en="emacs -n --args --debug-init"
alias emacsclient="emacsclient -n"
alias ec="emacsclient"
 
alias less="less -R"
alias diff="colordiff --side-by-side --suppress-common-lines"
 
# readline
bind -x '"\C-x\C-e": e'
bind '"\e\C-f": forward-word'
bind '"\e\C-b": backward-word'

コメント

コメントは受け付けていません。