ターミナルで前に感嘆符を無視できますか? (ipythonのおかげで本能的に入力します)

ターミナルで前に感嘆符を無視できますか? (ipythonのおかげで本能的に入力します)

私はほとんどの人生をIPythonシェルから送ったので、ターミナルコマンドの前に感嘆符を付ける悪い習慣があります。通常、これはエラーを引き起こしますが、時には悪いことがあります。!端末の機能を効果的に無効にできますか?これはスクリプトを妨げる危険がありますか?

ベストアンサー1

対話型シェルでは、デフォルトで!履歴拡張のために、シェルは次のテキストに一致するコマンドを探し、!そのコマンドを実行します。に示すようにこの回答到着Bashで感嘆符(!)を使用できませんか?シェルでは、履歴拡張を無効にできます。

  • 大きな打撃:set +H
  • ジシュ語:set -K

感嘆符ベースの履歴拡張を使用したくない場合は、シェルの起動スクリプトに追加します。

これは!無視されませんが、履歴からのコマンドの実行を防ぎます。存在しないと文句を言う!commandでしょう!command

シェルスクリプトはこれらの設定の影響を受けず、非対話型設定を使用して独自のシェルを取得します(履歴拡張はデフォルトでは含まれていません)。

おすすめ記事