Ошибка при установке пакета Qemu

На самом деле подстановка команд удаляет завершающие символы новой строки, а не добавляет их. Но если вы используете echoдля печати переменной позже, она добавляет ее по умолчанию.

Добавление завершающего символа xили чего-то подобного действительно несколько хакерское, но это, вероятно, самый простой способ, и он работает во всех оболочках. Вы можете сделать его немного короче, используя echo xвместо printf '%s' 'x'.

Поскольку вы упомянули read, вы могли бы использовать что-то подобное (и в Bash ):

IFS= read -rd '' var < <(newlinetest with)

Я оставлю вам решать, красивее ли это, чем это:

var=$(newlinetest with; echo x)
var=${var%x}

Хотя существует потенциальная разница в производительности между ними. В первом подстановка процесса создает канал, который readсчитывает из по одному байту за раз , чтобы избежать переполнения разделителя (Здесь это не имеет значения, но оболочка не знает, что. )Подстановка команд будет считываться большими блоками и, следовательно, будет выполняться быстрее при больших выходных данных.

0
28.06.2020, 16:29
1 ответ

Репозитории в вашем образе настроены неправильно. Возник конфликт между

==> /etc/apt/sources.list.d/dropbox.list <==
deb [arch=i386,amd64] http://linux.dropbox.com/debian stretch main

==> /etc/apt/sources.list.d/linux_dropbox_com_debian.list <==
deb [trusted=yes] http://linux.dropbox.com/debian stretch main

Необходимо объединить параметры в одну запись:

rm /etc/apt/sources.list.d/linux_dropbox_com_debian.list
echo 'deb [arch=i386,amd64 trusted=yes] http://linux.dropbox.com/debian stretch main' > /etc/apt/sources.list.d/dropbox.list

Поскольку изображение было предоставлено вашей компанией, лучшим долгосрочным -решением будет попросить того, кто предоставил вам его, исправить его...

1
18.03.2021, 23:24

Теги

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