#navi(../)
* 同一コマンド続けて実行した時にhistoryの履歴が1つだけになる方法 [#he4722a3]
端末から同一のコマンドを何度も実行することがありますよね。~
この場合、実行した回数分historyの履歴に保存されています。~
これを同一のコマンドを続けた場合(重複した場合)は1つだけ履歴に残す設定方法があります。~
その設定方法を以下に記します。~
本資料は、bashを使用して動作確認を行いました。
 sakura@ubuntu:~$ LANG=C bash --version
 GNU bash, version 4.2.25(1)-release (i686-pc-linux-gnu)
 <snip>

#contents
#htmlinsertpcsp(linux_ads_top.html,linux-sp.html)

* 関連記事 [#f0b8ab67]
-[[historyの履歴を削除する>逆引きUNIXコマンド/historyの履歴を削除する]]
-[[特定のコマンドの履歴をhistoryから除外する方法>Linux環境設定/特定のコマンドの履歴をhistoryから除外する方法]]
-[[特定番号のhistoryを削除する方法>逆引きUNIXコマンド/特定番号のhistoryを削除する方法]]
-[[以前実行したコマンドの履歴を確認したい・historyコマンド>逆引きUNIXコマンド/以前実行したコマンドの履歴を確認したい]]
-[[入力したコマンドをhistoryの履歴から除外する方法>Linux環境設定/入力したコマンドをhistoryの履歴から除外する方法]]
-[[HISTOCONTROLのignorespace,ignoredupsを一緒に有効にする方法>Linux環境設定/HISTOCONTROLのignorespace,ignoredupsを一緒に有効にする方法]]
-[[historyの履歴に重複するコマンド履歴を保存しない方法>Linux環境設定/historyの履歴に重複するコマンド履歴を保存しない方法]]
-[[historyの履歴を管理する環境変数HISTCONTROL,HISTIGNOREの記事>Linux環境設定/historyの履歴を管理する環境変数HISTCONTROL,HISTIGNOREの記事]]
-[[historyで確認できるコマンド履歴に日時を追加する方法>Linux環境設定/historyで確認できるコマンド履歴に日時を追加する方法]]

* HISTCONTROL=ignoredups について [#wffecc7a]
環境変数 ''HISTCONTROL'' に ''ignoredups'' を指定することにより、端末から同一コマンドを連続して実行するとき、~
重複するコマンドは履歴対象外となります。

 export HISTCONTROL=ignoredups

* HISTCONTROL=ignoredups 試してみる [#pb38832c]
以下に HISTCONTROL=ignoredups を設定し試してみます。
+ history -c により履歴を削除します。~
その後、ls -lコマンドを発行しています。
 sakura@ubuntu:~$ history -c
 sakura@ubuntu:~$ ls -l
 合計 0
+ historyコマンドを実行すると、ls -lとhistoryコマンドの履歴が確認できます。
 sakura@ubuntu:~$ history
     1  ls -l
     2  history
+ 環境変数 HISTCONTROL=ignoredups を設定し、再度historyを実行した結果です。
 sakura@ubuntu:~$ export HISTCONTROL=ignoredups
 sakura@ubuntu:~$ history
     1  ls -l
     2  history
     3  export HISTCONTROL=ignoredups
     4  history
+ 直前に実行したコマンドhistoryを再度実行します。~
直前と同じコマンドなので、今回(2回目)のhistoryは履歴に保存されていません。
 sakura@ubuntu:~$ history
     1  ls -l
     2  history
     3  export HISTCONTROL=ignoredups
     4  history
+ 再度、直前に実行したコマンドhistoryを実行します。~
直前と同じコマンドなので、今回(3回目)のhistoryは履歴に保存されていません。
 sakura@ubuntu:~$ history
     1  ls -l
     2  history
     3  export HISTCONTROL=ignoredups
     4  history
 sakura@ubuntu:~$


以上、export HISTCONTROL=ignoredups を設定することにより、連続し重複する履歴は保存されないようになります。~
常にこの設定を有効にしたい場合は、.bashrcや.bash_profileに追記すればよいでしょう。

#htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS