Я хотел бы бежать
something > file
на удаленной системе через ssh, но если я запускаю
ssh host something > file
перенаправление выполняется локально как ssh etc > file
Я попробовал это с '
или ''
или dd
или с трубой |
вместо этого, но я не могу заставить это работать. Как это может быть сделано?
ssh
pipe
io-redirection
Franziskus
источник
источник
Ответы:
Пытаться:
Вот надуманная демонстрация способа обработки перенаправления, каналов и кавычек:
Канал и перенаправление экранированы, а не содержатся в общем внешнем наборе кавычек, что уменьшает необходимость избегать одного уровня кавычек. Одинарные кавычки для команды AWK защищены двойными кавычками, которые их окружают. Имя файла может быть защищено таким же образом, но здесь я покажу, как одинарные кавычки защищают двойные кавычки и escape.
источник
sh -c
часть вам не нужна .$1
он защищен от того, что оболочка рассматривается как переменная оболочки. Но не было бы, если бы порядок цитат был противоположным.Еще проще, вместо:
делать:
источник
Предлагаемое решение работает и с трубами
источник