Интересно, можно ли получить вывод из файла в качестве следующей команды.
Пример:
Вместо:
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, поэтому не прошу решить проблему или что-то в этом роде. Просто хотел узнать из любопытства.
Спасибо!
cat "info.txt" | ssh userName@student-shell-1.sys.school.tld "cat > file.remote.txt"
открывает info.txt
и передает его процессу ssh, и на сервере будет файл .remote.txt. Добавление && ./file.remote.txt
приведет к выполнению содержимого, если оно является исполняемым.
Команды в текстовом файле могут быть выполнены с помощью команды sh
. Например:
sh info.txt
Некоторые другие альтернативные формы с немного другими эффектами:
. info.txt
или
source info.txt
Обратите внимание, что текстовый файл ( info.txt
в вашем примере) называется скриптом. file и all содержимое этого файла будет выполнено командой sh
. Другими словами, текстовый файл может содержать более одной команды (обычно по одной на строку), и все эти команды будут выполняться последовательно .
Файл сценария может содержать дополнительные команды потока управления (условные, циклические , вызов подпрограмм и т. д.), которые будут обрабатываться интерпретатором оболочки . Чтобы узнать, какой интерпретатор оболочки используется в настоящее время, используйте команду ps
. В конце строки, следующей за заголовком, вы увидите интерпретатор оболочки, который обычно представляет собой bash
или sh
.
Для получения дополнительной информации следует Google " bash программирование "или" программирование оболочки ".