rm !(myfile) は OS X では動作しませんか?

rm !(myfile) は OS X では動作しませんか?

このコマンドは Linux では正常に動作しますが、OS X Mountain Lion では次の操作を行うと動作します。

rm !(myfile)

bash は次のように文句を言う:

bash: !: event not found

OS X でも同じことを実行する方法はありますか?

答え1

extglobこれは、 に特別な意味を与えるオプションを設定していないためです!

Bash で次のように記述します:

shopt -s extglob

その後、コマンドは期待どおりに実行されるはずです。

デフォルトでは、!拡大する最後に実行されたバックグラウンド(非同期)コマンドのプロセスID。extglob設定すると、!パターンマッチングただし、その後に続く括弧と組み合わせてのみ使用できます()

もちろん、この行を に追加して、~/.bash_profileTerminal.app を開くたびに設定することもできます。OS X はデフォルトでログイン シェルを実行するため、これらのオプションはLinux ターミナル エミュレーターで慣れている方法で~/.bash_profileはなく で設定する必要があります。~/.bashrc

関連情報