Подключиться к SFTP через CURL

$1не является первым аргументом командной строки, а первым полем после того, как строка была разделена с помощью FS(, и это будет пустая строка в BEGIN, так как ни одна строка еще не была разделена ).

Аргументы командной строки находятся в массивеARGV:

$ awk 'BEGIN { for(i = 1; i < ARGC; i++) print ARGV[i] }' 1st 2nd 3rd
1st
2nd
3rd

ARGV[0]всегда имя интерпретатора(awkили gawkи т. д. ).

Чтобы позволить awkигнорировать аргумент командной строки и не пытаться открыть его позже как файл, вы должны удалить его или установить в качестве пустой строки :, например. ARGV[1]="".

В качестве примечания: любой аргумент в форме var=valueтакже будет интерпретироваться awkкак присвоение переменной и будет оцениваться после того, как аргументы файла, предшествующие ему, будут обработаны. обработано:

$ echo yes > file
$ awk '{ gsub(/e/, var); print }' var=1 file var=2 file var=3 file
y1s
y2s
y3s

Чтобы использовать фактическое имя файла в форме key=valс awk, вы должны передать его как относительный или абсолютный путь, например.awk '{...}'./key=val.

0
06.01.2021, 21:52
1 ответ

Вы можете попробовать использовать bash с инъекцией в маркер (, предполагая, что вы используете ключи rsa)

#!/bin/bash
sftp {user}@{host} <<EOF
cd {remote_dir}
mget *
EOF
0
18.03.2021, 22:38

Теги

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