У меня есть следующий файл
Hello
World
my
name
is
FalcoGer
И я хочу объединить строки каждой строки.
Для этого я написал следующий сценарий.
#! /usr/bin/bash
myFile=/home/FalcoGer/testfile.txt
result=""
cat $myFile | while read line
do
result+="$line "
done
echo Result: $result
Однако я получаю только Результат:
с пустой строкой. Когда я печатаю его из цикла, кажется, что он работает нормально. Что не так с этим скриптом и как это исправить?
Использование канала по существу создает новый сценарий с новой областью действия. Вы можете избежать использования канала следующим образом:
#! /usr/bin/bash
myFile=/home/FalcoGer/testfile.txt
result=""
while read -r line
do
result+="$line "
done < $myFile
echo Result: $result