Спецификатор glob (N)
приводит к полному исчезновению шаблона, если он не соответствует ни одному файлу.В оболочке POSIX нет прямого эквивалента;вместо этого вы должны просто проверить, действительно ли существует f
, и продолжить, если его нет.(Если шаблон не соответствует ни одному файлу, f
принимает вместо него буквальный шаблон.)
for f in "$HOME"/.dotfiles/files/* "$HOME"/.dotfiles/files/.*; do
[ -e "$f" ] || continue
symlink_prompt "$(basename "$f")"
done
Если вы на самом деле используете bash
, вы можете установить вместо него параметр nullglob
.
shopt -s nullglob
for f in "$HOME"/.dotfiles/files/* "$HOME"/.dotfiles/files/.*; do
symlink_prompt "$(basename "$f")"
done