Проблема с символом ':' в сценарии Bash через SSH

Я не уверен, что понимаю Ваш вопрос, но в самом простом случае, где у Вас есть разделенные пробелом столбцы текста и никаких пробелов в полях, Вы могли сделать:

echo "col1 col2 col3 col4" | while read one two three four; do echo "$two"; done

while read [variable names] цикл оболочки автоматически разделит свой вход в пробеле в столько переменных, сколько Вы даете.

2
23.05.2017, 15:40
1 ответ
scp -P PORT "$(hostname).$1-dump-$DATE.backup.gz.aes" USER@HOST:"/backups/$(hostname)/"

Scp поддерживает копирование файлов с одного удаленного хоста на другой, и синтаксис для этого состоит в том, чтобы указать как источник, так и место назначения, используя синтаксис «hostname: filename»:

scp srchost:/src/file desthost:/dest/file

В имени исходного файла есть двоеточие, поэтому scp пытается проанализировать его как имя хоста и имя файла удаленного файла.

Вы можете запретить scp обрабатывать аргумент исходного файла как удаленное имя файла, убедившись, что в аргументе перед первым двоеточием стоит символ «/». Имена хостов не могут содержать «/», а scp перестает искать двоеточия в аргументе командной строки после первого «/». Это должно сработать:

scp -P PORT "./$(hostname).$1-dump-$DATE.backup.gz.aes" USER@HOST:"/backups/$(hostname)/"
             ^^-- Prepend a ref to the current directory
5
27.01.2020, 21:56

Теги

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