Thursday, May 19, 2011

bash ! history








Оказывается, в bash есть такая команда "!" :


# mkdir /yu
 

# ls -l /yu
total 0
 

# history |tail -3
  996  mkdir /yu
  997  ls -l /yu
  998  history |tail -3
 

# !996    <-- Используем номер команды
mkdir /yu
mkdir: cannot create directory `/yu': File exists


# history |tail -5
  994  mkdir /yu
  995  su - oracle
  996  ls -l /yu
  997  ls -ld /yu
  998  history |tail -5
# !history     <--  Используем название команды
history |tail -5
  995  su - oracle
  996  ls -l /yu
  997  ls -ld /yu
  998  history |tail -5
  999  history |tail -5
# !l       <-- можно вообще указать только первый символ
ls -ld /yu
drwxr-xr-x 2 root root 4096 May 19 12:52 /yu



Можно запоминать историю в свой файл: HISTFILE=/home/yu/my_history
Можно запретить сохранять историю:   SAVEHIST=0
Можно ограничить размер: HISTSIZE=100


Можно игнорировать некоторые команды: HISTIGNORE="ls:mkdir:ps:history*:[ \t]*"
Через : указывается список команд, а [ \t] - означает не записывать в историю команды, начинающиеся с пробела:


# history |tail -5
  107  export HISTIGNORE="ls:mkdir:ps:history*:[ \t]*"
  108  asb
  109  sdf
  110  dfg
  111  qwe
# ls
# mkdir /yu2
#  tail -10 MegaSAS.log
# history |tail -5
  108  asb
  109  sdf
  110  dfg
  111  qwe
  112  mkdir /yu2


Видим, что команды "ls", " tail" - не попали в историю, а "mkdir /yu2" - попала, потому что мы запретили только mkdir, а не mkdir*


Еще одна опция называется cmdhist - сохранять ли в истории команды набранные через ; как одну команду (def) или как несколько команд, включается/отключается  
shopt -s/u cmdhist




No comments:

Post a Comment

Note: Only a member of this blog may post a comment.

How to disable/setup autostart parameters for specified instance ?

Q: We have a 4-node RAC. I need to disable autostart of the DB on one node only.    How to do it and how to see autostart parameters, confir...