Ошибка: 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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