ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Что такое Cat EOF в Bash Script?

Bash Heredoc

Оператор EOF используется во многих языках программирования. Этот оператор обозначает конец файла. Это означает, что всякий раз, когда компилятор или интерпретатор встречает этот оператор, он получит указание на то, что файл, который он читал, закончился. Точно так же в bash оператор EOF используется для указания конца файла. Когда этот оператор соединен с командой «cat» в bash, его можно использовать для других целей.

Обычно он используется либо для печати текста файла в терминале, либо для копирования содержимого файла в другое указанное место. Команда cat, за которой следует имя файла, позволяет просматривать содержимое любого файла в терминале Linux. Однако вместо того, чтобы выполнять этот шаг для просмотра содержимого файла, мы можем просто включить этот шаг в наш сценарий bash для той же цели. В этой статье показано использование оператора Cat EOF в сценарии bash в Linux Mint 20 с примерами.

 

Два случая использования Cat EOF в Bash Script в Linux Mint 20

Чтобы объяснить использование оператора Cat EOF в сценарии bash, мы разработали два простых примера сценария использования этого оператора в Linux Mint 20. Мы рассмотрим эти сценарии один за другим.

 

Случай №1: Печать содержимого файла в терминале

В этом сценарии мы покажем вам, как использовать оператор EOF для печати содержимого файла в терминале. Для этого мы сначала создадим сценарий bash, который будет содержать образец текста. Когда этот сценарий bash выполняется, он будет отображать текст, заключенный в нашем сценарии bash, в терминале. Следуйте инструкциям ниже, чтобы распечатать содержимое любого заданного файла в вашем терминале.

 

Шаг 1. Создайте сценарий Bash

Сначала мы создадим файл с именем EOF.sh в нашем домашнем каталоге. Вы можете выбрать любое другое имя для этого файла bash. Кроме того, вы можете создать этот файл bash в любом каталоге по вашему выбору; однако всегда удобно создавать файлы в домашнем каталоге в демонстрационных целях. Это избавляет нас от необходимости указывать путь к файлу каждый раз, когда мы хотим получить к нему доступ.

После создания этого файла мы откроем его в текстовом редакторе Linux Mint 20. Затем мы введем в этот файл сценарий, показанный на следующем изображении. Этот сценарий использует блок cat << EOF-EOF для печати содержимого этого блока в терминале. Мы написали случайный текст в этом блоке, который будет напечатан в терминале.

 

Шаг 2: выполнение сценария Bash

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

bash EOF.sh

Шаг 3: проанализируйте вывод Bash Script

После выполнения команды на шаге 2 вы увидите содержимое, заключенное в блок cat << EOF-EOF в вашем сценарии bash в терминале.

 

Случай № 2: Печать содержимого файла в другой файл

В этом сценарии мы покажем вам, как распечатать содержимое одного файла в другом файле. Для этого мы изменим сценарий bash, который мы создали в предыдущем сценарии, случай № 1. Этот сценарий bash также будет содержать образец текста.

Когда этот сценарий bash выполняется, он сохранит текст, заключенный в нашем сценарии bash, в указанном файле. Если файл с указанным именем уже существует, то наш сценарий bash просто скопирует наш образец текста в этот файл. В противном случае сценарий сначала создаст файл по указанному пути, а затем скопирует содержимое во вновь созданный файл. После выполнения этого сценария bash вы можете перейти по указанному пути и проверить содержимое файла. Следуйте инструкциям ниже, чтобы распечатать содержимое любого файла в другой файл с помощью сценария bash.

 

Шаг 1. Измените сценарий Bash, созданный в случае № 1

На этом этапе мы просто откроем файл bash, созданный для демонстрации нашего первого сценария. В этом сценарии bash мы создали переменную с именем «var» и уравняли ее с путем к файлу, то есть именем и путем к файлу, в который мы хотим скопировать содержимое. Затем мы будем использовать блок cat < $var-EOF, чтобы заключить образец содержимого.

 

Шаг 2: выполнение сценария Bash

Когда наш сценарий bash был изменен, пришло время выполнить его с той же командой, что и в случае № 1. Однако на этот раз вы не сможете ничего увидеть на терминале.

 

Шаг 3. Проанализируйте содержимое файла, в который был скопирован образец текста

Чтобы проверить, успешно ли была выполнена желаемая операция, сначала мы перейдем в наш домашний каталог. В домашнем каталоге мы попытаемся найти файл, в который мы хотели скопировать содержимое нашего сценария bash. Как только файл будет найден (в нашем случае имя файла было «temp.txt»), вы можете просто открыть его, чтобы просмотреть его содержимое. Содержимое нашего файла является точной копией содержимого, заключенного в нашем сценарии bash.

 

Заключение

Пройдя два сценария, представленных в этой статье, вы должны быть в состоянии сказать, что понимаете базовое использование Cat EOF в сценарии bash в Linux Mint 20. Эти сценарии предоставляют вам два разных способа использования этого оператора в Linux Mint 20. для печати содержимого файла или копирования содержимого одного файла в другой.

Exit mobile version