Showing posts with label linux. Show all posts
Showing posts with label linux. Show all posts

Monday, July 7, 2014

bash - history sharing between sessions


# .bash_rc
HISTSIZE=9000
HISTFILESIZE=$HISTSIZE
HISTCONTROL=ignorespace:ignoredups

history() {
  _bash_history_sync
  builtin history "$@"
}

_bash_history_sync() {
  builtin history -a         #1
  HISTFILESIZE=$HISTSIZE     #2
  builtin history -c         #3
  builtin history -r         #4
}

PROMPT_COMMAND=_bash_history_sync


history() overrides the original function to make sure that the history is synchronised before it is printed, so the numbers match.

Source | cheat sheet (pdf) | Nice article


Wednesday, June 25, 2014

bash - customizing

In the ".bashrc" file, you can add...


To add the time/date in the history:
HISTTIMEFORMAT="%d/%m/%y %T "

Shortcut for "ls -l":
alias ll="ls -l"

Shortcut for a fast maven clean build:
alias mvnci="mvn clean install -DskipTests -Dcheckstyle.skip=true"

Modify the prompt:
export PS1="\n\u@\h \w\n$ "

Always activate the color in grep:
export GREP_OPTIONS="--color"

Add magic to the space !cmd ...
bind Space:magic-space

Result:

__________________________.bashrc __________________________
# .bashrc
HISTTIMEFORMAT="%d/%m/%y %T "
export PS1="\n\u@\h \w\n$ "
export GREP_OPTIONS="--color"
alias ll='ls -l'
alias mvnci="mvn clean install -DskipTests -Dcheckstyle.skip=true"
bind Space:magic-space
__________________________.bashrc __________________________

Extra
To show line numbers in vi, modify the .vimrc (once inside vi, you can disable it if you want to copy the line without the number with: ":set number!"):
set number