さまざまなワイルドカードを使用して次のコマンドを実行しています。
ls testdir/!(*/)
その後、私はbashプロンプトにまったく戻ることができませんでした。 ^C、^D、さらには^Zも機能しません。リテラル文字のみを印刷します。
更新:次のように入力することがわかりました。
ls !()
同じ効果があります。私の.bash_historyを削除しても役に立ちませんでした。
したがって、2つの質問があります。
このコマンドで回復できますか?
bashに正確に何をするように指示し、何を待っていますか?
メモ:
ただ実行すると、!(*/)
「イベントが見つかりません」とだけ浮かびます。
私が実行するls !(*/)
と、echo !(*/)
上記と同じことが発生します。
bashプロセスは100%CPU使用率でリストに表示されますが、そうではありません。ls
lxc コンテナで同じコマンドを実行すると、「イベントが見つかりません」と表示されます。私のbashオプションはほぼ常にUbuntu 14.04です。驚くべきことはありません。
set -x
コマンドの前に使用すると、ls
何もエコーされません。
注2:shoptの出力
自動CDオフ cdable_vars オフ CDを閉じる ハッシュチェック 採用締切確認 ウィンドウサイズの確認 cmdhist 点灯 31 閉じると互換性があります compat32 閉じる 40閉じると互換性があります 41閉じると互換性があります 42 閉じると互換性があります 完全な引用を完了してください。 ディレクトリの拡張とクローズ 解散する 注文グループを閉じる 実行を終了できませんでした。 エイリアス拡張 外部デバッグがオフになった 外部グローバルアクティブ化 同封の引用符 障害のあるグローバルシャットダウン 強制無視 グローバルスターを閉鎖 グローバル範囲を閉じる gnu_errfmt オフ 添付の履歴 記録を無効にする 履歴確認が無効になっています。 ホストが完全にシャットダウンされます。 ヒューポネックシートを閉じる インタラクティブなコメント 最後のチューブを閉じる 閉鎖 ログインシェルが閉じます。 メール警告が終了しました。 no_empty_cmd_completion オフ nocaseglob オフ 一致するケースはありません。 空のボールオフ プログラミング報酬の有効化 変数を開くように求めるメッセージを表示 シェルを閉じる制限 Shift_verbose オフ ソースパスが開いている xpg_echo オフ
セット+oの出力
+o エクスポート設定 Set -o 中括弧の拡張 set -o Emacs +oエラー終了設定 +o errtrace 設定 +o機能追跡設定 セットオハシャル set -o histexpand 記録設定 無視するには+oを設定してください。 Set -o 対話型コメント +oキーワード設定 モニター設定 +o ノックローバー設定 +o noexec設定 +o ノグロップ設定 +o nolog 設定 +o通知設定 セット+o名詞セット +o onecmd設定 set+o 物理学 +o パイプ障害設定 +o posix設定 +o権限の設定 +o詳細設定 +o vi 設定 +o xtrace設定
ベストアンサー1
shw@shw:/tmp $ ls testdir/!(*/) & pidls=$!
[1] 18453
shw@shw:/tmp $
shw@shw:/tmp $ cat /proc/18453/cmdline
bashshw@shw:/tmp $
shw@shw:/tmp $
shw@shw:/tmp $ kill -9 18453
shw@shw:/tmp $
[1]+ Killed ls --color=auto testdir/!(*/)
shw@shw:/tmp $