Bashスクリプトへのタブ補完の追加

Bashスクリプトへのタブ補完の追加

ファイルに対していくつかの処理を実行するスクリプトを作成しています。ファイルの場合は、現在のディレクトリからファイルを選択するか、ファイルパスを指定します。

問題は、ファイル名が大きくなる可能性があるため、すべてのファイル名を入力するのが難しいことです。

echo "Enter file name"
read FILE

上記のコードは、私がやろうとしていることを示しています。このスクリプトを実行するときは、ファイル名を1文字ずつ入力する必要があります。これは途方もない痛みです。を押して端末アプリケーションなどの提案を受けたいですTab

こんなことが欲しいこのようなTabファイル名の書き込み中に押すと表示されます。この目標をどのように達成できますか?

答え1

次のように入力ファイル名を読み取ることができます。

#!/bin/bash
read -e -p "Enter filename: " f
printf "filename: %s\n" "$f"

read -ereadlineすでにタブ補完機能があるパスを使用してください。read --helpそしてman readlineそれらに関する詳細情報。

関連情報