Ваша первая команда отлично работает на Bash 4.4:
$ path="Folder%20Name/Dir/File"
$ read -d "/" folder < <(echo ${path/\%20/ })
$ echo "$folder"
Folder Name
Хотя здесь нет необходимости использовать подстановку процесса, вы можете просто использовать вместо нее строку -:
$ read -d "/" folder <<< "${path/\%20/ }"
Что касается вашей второй команды, вы используете кавычки локализации $"..."
, которые, я думаю, вам здесь не нужны, и круглые скобки также добавляются к строке, так что вы получите (Folder Name
, если вы сделал это с переменной path
.
(кстати, если вы когда-нибудь начнете использовать Zsh, не используйте path
в качестве имени переменной.)