Ich habe ein Skript, die bash
scp
in folgenden Weise beginnt:Grund, Dateideskriptoren zu benutzen, die mit stdin verbunden sind, anstatt stdin direkt zu verwenden?
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")
Was ist der Sinn der exec 3<&0
? Wie ich es verstehe, kopiert es die stdin
in den Dateideskriptor 3
. Warum ist das nötig? Warum nicht -oPasswordFd=0
verwenden?
@Martin: wissen Sie, woher Ihre 'scp' kam? – chicks
@chicks Es ist auf Junos Betriebssystem. Mit anderen Worten, es ist wahrscheinlich ein benutzerdefinierter Build von 'scp'. – Martin
Das macht Sinn - es ist möglich, dass diese benutzerdefinierte scp Eingabedaten auf stdin erlaubt – pakistanprogrammerclub