Мне кажется, это работает, хотя я соглашусь с тем, что могу упустить какой-то фундаментальный момент:
IPv4_first=1.1.1.1
IPv4_second=2.2.2.2
IPv4_third=3.3.3.3
IPv4_all=( $(set | sed '/IPv4_.*[=)]/!d;s///') )
printf "'%s'\n" "${IPv4_all[@]}"
'1.1.1.1'
'2.2.2.2'
'3.3.3.3'
Это лучше:
eval IPv4_all=( "$(set |
grep -E '^IPv4_[_[:alnum:]]*=([^(]|$)' |
sed 's/\([^=]*\).*/${\1+"$\1"} /')"
)
grep
получает только безопасные линии, которые соответствуют вашей целевой var. sed
окружает их маркерами расширения параметров, поэтому они ничего не оценивают, если на самом деле они не являются текущими именами переменных оболочки.
Используйте PSFTP, который является частью установки PUTTY (PSFTP.EXE в той же папке).
Вы просто вводите sftp
и затем используете стандартные команды FTP для копирования/вставки файлов между хостами (положите
на загрузку, получите
на загрузку и т.д.).
Но если вы хотите подключиться к диску с общим доступом, вам, вероятно, нужно использовать samba-клиент так:
smbclient //computer_name/share_name -U
Используйте FileZilla