GNU/Linux >> Linux の 問題 >  >> Linux

履歴に保存せずに bash でコマンドを実行する

解決策 1:

コマンドの前にスペースを追加します。スペースで始まるコマンドは履歴に残りません:

[email protected]:~# echo foo
foo
[email protected]:~# history 
    1  echo foo
    2  history 
[email protected]:~#  echo bar
bar
[email protected]:~# history 
    1  echo foo
    2  history 

マンバッシュ

  HISTCONTROL
         A  colon-separated  list of values controlling how commands are
         saved on the history list.  If  the  list  of  values  includes
         ignorespace,  lines  which begin with a space character are not
         saved in the history list.  A value of ignoredups causes  lines
         matching  the  previous history entry to not be saved.  A value
         of ignoreboth is shorthand for ignorespace and  ignoredups.   A
         value  of erasedups causes all previous lines matching the cur‐
         rent line to be removed from the history list before that  line
         is  saved.   Any  value  not  in the above list is ignored.  If
         HISTCONTROL is unset, or does not include a  valid  value,  all
         lines  read  by the shell parser are saved on the history list,
         subject to the value of HISTIGNORE.  The second and  subsequent
         lines  of a multi-line compound command are not tested, and are
         added to the history regardless of the value of HISTCONTROL.

解決策 2:

また、通常の終了ではなく、現在のログイン セッションを強制終了するトリックについても言及する価値があります (したがって、履歴を保存する機会はありません)。これは、共有 a/c にログインするときに特に便利です。前にスペースを付けるのではなく、セッションを強制終了するだけで済みます。強制終了する最も簡単な方法は、次のコマンドを実行することです:

kill -9 0

Pid 0 は常に現在のプロセスの PID を参照するため、基本的にそれ自体に致命的な kill シグナルを送信しています。また、通常の終了の代わりにこれを使用することもよくあります。これは、おそらく何らかの設定ミスが原因で、通常の終了時にセッションがハングすることがよくあるためです。


Linux
  1. 私を待たせずにコマンドを実行しますか?

  2. Bashの感嘆符(!)を理解していますか?

  3. Linux で選択したユーザーのコマンド履歴を保存する方法

  1. コマンドラインでの毎日のBashのヒント

  2. docker run へのコマンドライン引数

  3. jenkins パイプラインで bash コマンドを実行する

  1. LinuxでBASHコマンドライン履歴をクリアする方法

  2. LinuxでBashの履歴をクリアする方法

  3. 履歴コマンドを実行せずにコマンドラインに配置しますか?