「!!」とは何ですか、「$_」または「$?」とどのように関連付けられますか?

「!!」とは何ですか、「$_」または「$?」とどのように関連付けられますか?

!!bashをもっと学びながら、文字列の置き換え作業をしていて、いくつかのダミーの例を追加しましたecho ${TEST/hey/!!}

最後に入力したコマンドに変わったというのが驚きですね!!…それはなんですか?どういうわけかMagicコードリンクに接続されていますか?$?それともbashで同じように使用できる他のものはありますか?$_-

ベストアンサー1

Bashは拡張と呼ばれるさまざまなタイプの自動置換を実行します。たとえば、それらのいくつかは次のとおりです。

  • 歴史的拡張
  • パス拡張
  • パラメータ拡張
  • 他の人...

Bashを含めると、!!以前に実行されたコマンドに自動的に置き換えられます。役割!の実行履歴の拡張。たとえば、!10コマンド履歴の10番目のコマンドに置き換えられます。 $パラメータと変数の拡張を実行します。次の文字はすべて-_および?bashの特殊パラメータです。

これについて学ぶための最良の情報源はbashのマニュアルです。Bashリファレンスマニュアル:トップ

記載されている例には、echo ${TEST/hey/!!}パラメータと履歴の拡張が含まれます。

おすすめ記事