У меня есть bash
скрипт, который запускает scp
в следующим образом:Причина использования файловых дескрипторов Связано с stdin Вместо использования stdin Непосредственно?
echo "${SCP_PASS:-$PASSWORD}" | (exec 3<&0; scp -qp ${SCP_PORT:+-P$SCP_PORT} -oStrictHostKeyChecking=yes -oPasswordFd=3 $TRANSFER_FILE "[email protected]$SCP_HOST:$SCP_PATH")
Какова точка exec 3<&0
? Как я понимаю, он копирует stdin
в дескриптор файла 3
. Почему это необходимо? Почему бы не использовать -oPasswordFd=0
?
@Martin: вы знаете, откуда пришел ваш «scp»? – chicks
@chicks Это на операционной системе Junos. Другими словами, это, вероятно, обычная сборка 'scp'. – Martin
Это имеет смысл - возможно, этот пользовательский scp позволяет вводить данные на stdin – pakistanprogrammerclub