1

У меня есть несколько файловых инструментов на мятном компьютере, которые я бы предпочел не устанавливать на свой ноутбук Mac. Главным образом из-за обширности apt-get и низкого риска сбоя установки. Во всяком случае, очень часто у меня есть файл, который я хочу обработать, используя какой-нибудь удаленный инструмент. Обе машины могут подключаться по ssh друг к другу, поэтому я подумал, что должен быть какой-то сценарий или инструмент, который позволил бы мне напечатать что-то вроде remote [file] [tool & args] для отправки моего файла на другую машину, получить это обработано, тогда верните это.

4 ответа4

3

Если инструмент представляет собой простой фильтр, то вы можете использовать его как обычно, но через ssh.

ssh user@host somefilter < infile > outfile

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

ssh user@host bash -c "sometool <(/dev/stdin) -o >(/dev/stdout)" < infile > outfile

В противном случае вам придется перенести файл в или из другой системы.

2

Концепция UNIX заключается в том, чтобы делать одну вещь и делать это спокойно. Затем вы можете создавать свои собственные инструменты на основе этих простых процессов.

Вам просто нужно написать скрипт, который scp-файл на вашем компьютере, запускает команду ssh, чтобы изменить его, а затем возвращает его обратно. Три строки, вот очень простой шаблон,

scp oldfile myuser@myother.machine:/some/directory/file.to.process
ssh myuser@myother.machine "/usr/bin/something /some/directory/file.to.process"
scp myuser@myother.machine:/some/directory/file.which.is.processed newfile

Добавьте параметры и добавьте проверку ошибок, и все готово.

Или, как показывает другой ответ, вы можете направить stdin/stdout на другую машину, так что для фильтров это еще проще.

0

Ну, вы можете настроить пересылку X11 через ssh с компьютера, на котором находится файл-процесс. Эта страница является хорошим руководством о том, как это сделать. Это в основном позволяет вам запускать программу с удаленного сервера на вашем компьютере (используя ресурсы вашего компьютера).

0

Вы также можете попробовать смонтировать другую систему как каталог. Затем вы можете получить к нему доступ, как если бы он был на вашем монетном дворе. sshfs - это один из способов сделать это.

mac$ ssh user@mint
mint$ mkdir ~/mac
mint$ sshfs user@mac:/path ~/mac
mint$ tool ~/mac/file

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .