bashと入力して「tab」を押すと、オートコンプリートに時間がかかることがあります。たとえば、ファイルIOはディレクトリの読み込みに5秒以上かかるため、入力を続行するにはIOが完了するまで待つ必要があります。私は欲求不満を感じ、Ctrl-Cを押して入力中の内容を再実行できます。
Ctrl-Cはすべてを再入力する必要があるため、残念です。オートコンプリートリクエストを実行しようとする試みを中止するようにbashにどのように通知できますか?
$ /long/path/to/some/d # once I've typed this, I press <TAB>. I now will be
# stuck waiting for perhaps 10 seconds. The only thing I
# know to do is Ctrl-C. When I press Ctrl-C, I am forced
# to retype the original command string.
$
答え1
私はこれを見つけました。ここ。
使用Ctrl+\
。完了を停止し、現在のコマンドを失うことなくコマンドラインに戻ります。
答え2
タブの完成がないと、同様の問題が発生する可能性があります。これは技術的な違いはありません。つまり、同じ解決策が適用されます。
1つの可能性は、バックグラウンドで検索を開始し、結果をFIFOに書き込むことです。タイムアウト()後にFIFOからデータを読み取ることができますread -t 0.3 ...
。
最近ここでFIFOよりも簡単な解決策を見たようですが…今は覚えていません。read -t
パイプラインでも機能しますが、完了によってread
パイプラインの前の部分が終了することはなく、パイプラインはすべての部分が完了した後にのみ返されます。
答え3
Ubuntu 16.04では、クリックがq
私にとって効果的でした。