добавить уникальный идентификатор файла, затем scp в bash - PullRequest
0 голосов
/ 23 октября 2019

bash (спасибо @Charles Duffy) сохраняет каждый uniqueid в array, а затем передает их в %q, чтобы получить уникальный путь. Кажется, это работает, с чем у меня проблемы - переименовывать каждый .png с уникальным значением в %q. Я думал, что это работает, но при ближайшем рассмотрении файл .png отправляется на scp .... но только 1 и с неправильным uniqueid. Похоже, что первый .png используется scp, но с последним uniqueid. В этом примере их 2, но может быть больше или меньше. Я добавил loop, и это, похоже, не работает, я в растерянности. Спасибо :). Я надеюсь, что эта помощь и спасибо:).

├──/path/to/   ---- common path after ssh ---
│   ├── ID1*   --- unique %q represents the unique id and * represents random text after it ---
│   │   └── /%q*/folder
│   ├── ID2*   --- unique %q represents the unique id and * represents random text after it ---
│   │   └── /%q/folder

Описание:

После ssh к общему пути на сервере, каждый уникальный идентификатор из %q используется для дальнейшей навигации по папке. В каждой папке есть png (cn_results), к которому добавляется уникальный идентификатор из %q (ID-cn_results), а этот файл присоединения scp к xxx@xxx.xx.xx.xxx: / path / to/% д * / назначения.

Объявить -p массив = '([0] = "ID1" [1] = "ID2")' --- это где значение переименования --- ---

токовый выход в каждой папке / path / to /% q * / --- на сервере ---

cn_results.png

требуемый выход в каждом / path / to /% q * / destination после scp

uniqueid1-cn_results.png
uniqueid2-cn_results.png

Я могу вручную ssh в каталог, и .png есть, хотя до cn_results это толькоscp где его переименовывают / добавляют со значением массива, а затем scp. Я попытался добавить цикл к scp и переименовать так:

printf -v cmd_q '(cd /path/to/%q*/*/folder && for ID in "${array[@]}" ; do exec sshpass -f file.txt scp "$ID" xxx@xxx.xx.xx.xxx:path/to/destination/${ID}-cn_results.png)\n' "${array[@]}" ; done
sshpass -f out.txt ssh -o strictHostKeyChecking=no -t xxx@xxx.xx.xx.xx "$cmd_q"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...