Einrichten eines Alias, der auf die nächste Eingabeaufforderung wartet, um einen Befehl einzugeben

426
d-_-b

Ich versuche, einen Alias ​​einzurichten, der eine Verbindung zu einer FTP-Site herstellt.

Bisher (mit Hilfe von SO:]) konnte ich den Alias ​​erstellen, der verbunden wird.

Ich habe versucht, den nächsten Befehl hinzuzufügen, dem ein Semikolon vorangestellt ist, aber es funktioniert nicht.

Was ich suche, ist eine Möglichkeit:

ftp -p domain.com [wait until the server asks for username] my_username [wait until server asks for p/w] password123 

usw...

Ist das in einem Alias ​​möglich? Wenn ja, wie heißt das, damit ich lernen kann, wie es geht?

Vielen Dank!

0

2 Antworten auf die Frage

2
Levon

Ich glaube nicht, dass Sie den Alias ​​unterstützen können, sobald Sie verbunden sind. Sie können in der Befehlszeile noch mehr tun, wenn Sie sich anmelden. Überprüfen Sie die ftp-Manpage, aber ich denke, Sie können Ihren Benutzernamen mit der -uOption angeben ftp somesite.edu -u my_username.

Sobald ftp Sie nach Informationen (wie Ihrem Kennwort) fragt, sind Sie auf sich allein gestellt.

Vor einigen Jahren gab es ein Tool namens " Expect ", mit dem solche interaktiven Sitzungen erstellt werden können. Es gibt jedoch andere (bessere?) Möglichkeiten, dies zu tun.

Update 1 ... kann die -uOption nicht in den Online-Manpages finden ... Ich hätte schwören können, dass dies verfügbar war. Noch sollte ein Werkzeug wie expecthelfen können.

Update 2 : Haben Sie überlegt, sftpstattdessen zu verwenden? Wenn Sie es richtig eingerichtet haben, müssen Sie das Kennwort nicht angeben. Sie können den Benutzer in der Befehlszeile angeben, z. B.

 sftp username@somesite.edu 

Außerdem können scpSie Dateien von / zu anderen Websites kopieren, wobei der Benutzername und das Kennwort nicht erforderlich sind, wenn Sie zuvor ordnungsgemäß eingerichtet wurden.

Danke, ja, es ist mir aufgefallen, dass sich nichts auf die Befehlszeile auswirkt, wenn ich verbunden bin. Ich versuche, einen ziemlich komplexen Befehl in einem Alias ​​zu schreiben, um mit meinem Server zu interagieren, aber das -u ist auch hilfreich! d-_-b vor 11 Jahren 0
Ich habe das `-u` von einem anderen Befehl verwirrt, sorry. Levon vor 11 Jahren 0
Wenn ich mich nicht irre, erinnert es mich an eine MySQL-Befehlszeile ... d-_-b vor 11 Jahren 0
@Iight ja, könnte sehr gut sein .. Ich musste noch einmal überprüfen, ob es nicht da ist. Wenn Sie zwischen sftp und ftp wählen können, ist die sichere Version in jedem Fall vorzuziehen. Ich habe Links zu meiner Antwort hinzugefügt Levon vor 11 Jahren 1
0
Sniggerfardimungus

Hast du es versucht:

alias doit='echo my_username > tmpfile ; echo password123 >> tmpfile ; ftp -p domain.com < tmpfile' 
Sorry, das hat nicht funktioniert, es scheint das Terminal einzufrieren ... vielleicht schreibe ich es falsch d-_-b vor 11 Jahren 0