FTP-Shell-Script mkdir Problem

Ich bin mit der Bash FTP-Befehl von ftp-Dateien, aber ich habe ein problem, wo ich versuche, ein Verzeichnis zu erstellen, der mehr als 2 Ordner tief. Es funktioniert, wenn ich zwei Ordner tief, aber wenn ich gehen, um drei Ordner tiefer, dann schlägt es fehl. Zum Beispiel:

mkdir foo/bar - this works
mkdir foo/bar/baz - this fails

Habe ich auch so probiert:

mkdir -p foo/bar/baz - which didn't work, it ended up creating a '-p' directory

Dem shell-Skript, das ich versuche zu laufen, ist eigentlich Recht einfach, aber wie Sie sehen können die Verzeichnis-Struktur ist die 3 Ordner tief und es fehlschlägt, erstellen die benötigten Ordner:

#!/bin/bash
DIRECTORY="foo/bar/baz"
FILE="test.pdf"         
HOST="testserver"           
USER="test"         
PASS="test"         

ftp -n $HOST <<END_SCRIPT
quote USER $USER
quote PASS $PASS
mkdir $DIRECTORY
cd $DIRECTORY
binary
put $FILE
quit
END_SCRIPT
  • Bash hat keine ftp Befehl - ftp ist ein externes Dienstprogramm, und es ist sehr unsicher. Verwenden Sie etwas wie sftp.
  • Haben Sie ein Beispiel, wie sftp verwendet werden könnte, statt ftp? Kann ich noch geben Sie den Benutzernamen und das Kennwort in der gleichen Weise?
  • Nein, sollten Sie eine key-Datei. Übrigens sftp ist auch ein externer nutzen. Sehen man sftp.
  • sind Sie sicher, ich kann Sie auf Verzeichnisse angeben, mehr als 3 Ordner tief mit diesem sftp ?
InformationsquelleAutor davey1990 | 2012-07-19
Schreibe einen Kommentar