Вставить вывод из txt файла в качестве следующей команды

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

Пример:

Вместо:

myUserName 09:52:52
~ cat info.txt
ssh userName@student-shell-1.sys.school.tld

Я ищу:

myUserName 09:52:53
~ cat info.txt
~ ssh userName@student-shell-1.sys.school.tld

Надеюсь, это поможет смысл.

PS. Я новичок в bash, поэтому не прошу решить проблему или что-то в этом роде. Просто хотел узнать из любопытства.

Спасибо!

0
задан 28 August 2020 в 11:17

2 ответа

cat "info.txt" | ssh userName@student-shell-1.sys.school.tld "cat > file.remote.txt"

открывает info.txt и передает его процессу ssh, и на сервере будет файл .remote.txt. Добавление && ./file.remote.txt приведет к выполнению содержимого, если оно является исполняемым.

0
ответ дан 4 January 2021 в 08:24

Команды в текстовом файле могут быть выполнены с помощью команды sh . Например:

sh info.txt

Некоторые другие альтернативные формы с немного другими эффектами:

.  info.txt

или

source  info.txt

Обратите внимание, что текстовый файл ( info.txt в вашем примере) называется скриптом. file и all содержимое этого файла будет выполнено командой sh . Другими словами, текстовый файл может содержать более одной команды (обычно по одной на строку), и все эти команды будут выполняться последовательно .

Файл сценария может содержать дополнительные команды потока управления (условные, циклические , вызов подпрограмм и т. д.), которые будут обрабатываться интерпретатором оболочки . Чтобы узнать, какой интерпретатор оболочки используется в настоящее время, используйте команду ps . В конце строки, следующей за заголовком, вы увидите интерпретатор оболочки, который обычно представляет собой bash или sh .

Для получения дополнительной информации следует Google " bash программирование "или" программирование оболочки ".

1
ответ дан 4 January 2021 в 08:24

Другие вопросы по тегам:

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