Использование команды чтения для чтения файла по строке в Bash не работает

Итак, я нашел решение.

Я установил VirtualBox и смонтировал ISO с ним.
Я подключил USB-накопитель к VirtualBox, и установка в виртуальной машине распознала его.
В процессе установки я разбил USB-накопитель на разделы с помощью инструмента разметки.
Все работает.

Теперь я могу использовать USB-накопитель как полноценный дистрибутив Linux.

2
25.05.2019, 12:58
1 ответ

Проблема в последней строке, вам не нужна переменная (подстановка команды )или cat, так как readуже умеет читать файл. Если вместо этого вы сделаете это:

while IFS= read -r line; do
  echo modified $line
done < ~/text.txt

Это работает.

Кроме того, ваша команда будет работать, если вы процитируете переменную, например:

"$(cat ~/text.txt)"

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

1
27.01.2020, 22:17

Теги

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