Bash ls 命令在 shell 脚本中不起作用

Bash ls command not working in shell script

我正在编写一个 shell 脚本,它还必须检查不同目录中是否存在具有特定扩展名的文件。我是 运行 这样的 ls 命令:

TEMPLATE_FOLDER="$HOME/Downloads/" # Folder to check
file="py" # Extension only
amount_files=$(ls -1 "${TEMPLATE_FOLDER}*.${file}" 2>/dev/null | wc -l) # How many files in the directory

它一直告诉我 ls: /Users/hussein/Downloads/*.py: No such file or directory 即使当我将该确切路径复制到终端本身时,它也能正常工作。

如果有人能提供帮助,我将不胜感激。

ls -1 "${TEMPLATE_FOLDER}*.${file}"

如果引用 Glob,则不会扩展它们。尝试:

ls -1 "${TEMPLATE_FOLDER}"*."${file}"