Ошибка: fish: ${ не является допустимой переменной в fish.Linux

Anonymous
Ошибка: fish: ${ не является допустимой переменной в fish.

Сообщение Anonymous »

Итак, я пытаюсь запустить эту команду, чтобы преобразовать файлы в файл .chd:

Код: Выделить всё

for i in *.cue; do chdman createcd -i "$i" -o "${i%.*}.chd"; done
Но я получаю такую ​​ошибку:

Код: Выделить всё

fish: ${ is not a valid variable in fish.
for i in *.cue; do chdman createcd -i "$i" -o "${i%.*}.chd"; done
Это меня убивает, потому что я запускаю эту команду, чтобы преобразовать flac в ogg, и она работает отлично:

Код: Выделить всё

find . -name "*flac" -exec sh -c 'oggenc -q 7 "$1" -o ~/vorbis/"${1%.*}".ogg' _ {} \;
Вторая строка использует ${ и работает нормально. Так почему же первая команда выдает мне эту ошибку для ${? Я искал вокруг и не мог найти много по этой теме. Мне бы очень хотелось это понять, поэтому, если я буду использовать подобную строку в будущем, я буду знать, что делать. Я не особо разбираюсь в программировании, поэтому меня это действительно интересует. И в то же время разочарование.
Я пробовал заменить ${ на $( и другие варианты. Но ничего не помогло. Команда работает. в zsh все в порядке, так что это что-то с Fish.
Я нашел это
Похоже, у кого-то похожая проблема, но... неужели я действительно нужно что-то установить (ghc), чтобы это заработало? Кажется, есть другой обходной путь.

Подробнее здесь: https://stackoverflow.com/questions/782 ... le-in-fish

Вернуться в «Linux»