Heredoc не работает в сценарии bash

Немного глупо получать список mp3-файлов, передавать их в echo, чтобы он мог распечатать их, разделенные пробелами, затем передавать этот вывод по каналу, читать его, разделять на пробел/табуляцию/новую строку/NUL, а затем присоединиться к |.

Либо делай:

printf '%s|' *.mp3

Или

files=(*.mp3)
joined=${(j:|:)files}

Если цель состоит в том, чтобы использовать его в качестве шаблона zsh, вы, вероятно, захотите экранировать подстановочные знаки в именах этих файлов. Это делается с помощью флага раскрытия параметра b:

.
pattern="(${(j:|:)${(b@)files}})"
0
30.10.2021, 22:06
1 ответ

Я нашел ответ... пока я тестировал код в Manjaro, я закомментировал этот необходимый метод, который удаляет разделы и файловые системы на диске перед каждым запуском команды sfdisk:

wipeFilesystems(){

echo "Wiping filesystems on "$dev_block"..."
sfdisk --delete $dev_block
wipefs --all $dev_block

}
0
30.10.2021, 22:44

Теги

Похожие вопросы