Как сохранить содержимое файла в переменной Linux

Обычно администраторы и разработчики Linux используют переменные shell для хранения строк и чисел. Но иногда вам может понадобиться сохранить содержимое файла в переменной shell. В этой статье мы узнаем, как это сделать.

Как хранить содержимое файла в переменной оболочки

Допустим, у вас есть следующий текстовый файл data.txt.

Для вывода содержимого файла мы используем функцию cat.

содержимое файла data.txt

Мы присваиваем вывод вышеприведенной команды переменной оболочки test_var с помощью следующей команды.

Обычно используютvz следующую команду для вывода содержимого переменной.

Если мы сделаем это с вышеуказанной переменной, вы увидите следующий результат.

echo $test_var

Вы увидите, что новая строка в приведенном выше выводе опущена.

Чтобы отобразить содержимое файла точно в том виде, в котором оно есть, необходимо заключить переменную shell в кавычки, как показано ниже.

echo "$test_var"

Теперь содержимое файла отображается точно так, как оно есть. Это происходит потому, что когда вы вводите команду в Linux shell, он использует IFS (внутренний разделитель полей) для разделения вывода после расширения с помощью пробела/табуляции/новой строки, и любой из них может быть использован для разделения вывода на список слов. Таким образом, оболочка переформатирует вывод так, что все слова разделяются пробелом, а новая строка добавляется только в конце вывода.

Когда мы используем кавычки вокруг нашей переменной shell, это заставляет bash рассматривать весь вывод переменной (то есть содержимое файла) в кавычках как одну строку, и она не разделяется.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий