我在一个目录中有多个文件,我正在编写一个 bash 脚本来列出所有文件以及它们旁边的索引,以便用户可以根据索引选择要选择的文件,而不是编写整个文件姓名。
例如。
main_dir
- temp_1
- temp_2
我的尝试:
while [[ 1 ]]; do
printf "Which file do you want to use? ($(ls -m ${main_dir})) "
read -r ans
if [[ -d ${main_dir}/${ans} ]]; then
break
else
echo "[ERROR] Failed to choose. Please choose from ($(ls -m "${main_dir}"))."
fi
done
在这种情况下,输出为:
Which file do you want to use? (temp_1, temp_2)
此外,用户必须输入文件名才能选择它。
预期结果:
Which file do you want to use?
1. temp_1
2. temp_2
并且,用户应该能够通过两种方式选择文件,输入名称或索引。