Diese Website existiert nur weil wir Werbung mit AdSense ausliefern.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.

[solved] Shellscript ncftp

Alles rund um die verschiedenen Konsolen und shells sowie die Programmierung unter Linux

Moderator: Moderatoren

Antworten
Benutzeravatar
tux.ICBlood
Member
Member
Beiträge: 95
Registriert: 5. Apr 2004, 09:23
Wohnort: Köln
Kontaktdaten:

[solved] Shellscript ncftp

Beitrag von tux.ICBlood »

Ich habe ein bisschen mit shellscipten angefangen. Und habe gehört das ich in ein shellscript alle befehle schreiben kann die ich auch in die Konsole tippen kann. Gut, und warum funzt das nicht:

Code: Alles auswählen

#!/bin/bash
echo Verbinde mit Server
ncftp -u anonymous -p email@web.de ftp.gwdg.de
cd pub
cd linux
cd suse
ls
Ich erhalte nur die Ausgabe
Verbinde mit Server - und dann die ncftp ausgabe
aber das Script führt dann nicht weiter aus, da ist nur das Programm
ncftp>
Wenn ich dann exit tippe führt das den Rest aus (findet pub und so aber nicht, hab das ja in meinem home auch nicht)
Woran liegt das das ich in nem Shellscript nicht ncftp steuern kann? Gibt es noch ne andere Lösung.
gruss tux.ICBlood

www.gultsch.de

A programmer is only a tool, which converts caffeine to Software
peedee

Beitrag von peedee »

Hi,

das Problem ist, das nach dem starten des ftp-Programms Deine script-Datei nicht mehr für die Eingabe verantwortlich ist. Du gibst halt nicht alles direkt in der bash ein, sondern in das FTP-Programm.

Du kannst allerdings die Eingabe umleiten.
So sollte es gehen..

Datei sc.sh:

#!/bin/bash
echo Verbinde mit Server
ftp ftp://ftp.gwdg.de < ./input.txt

Datei input.txt:

cd pub
cd linux
cd suse
ls
exit

Die Datei in das gleiche Verzeichnis legen und dann die Skriptdatei ausführbar machen und mit ./sc.sh starten.

Ich hoffe, das hilf Dir.

Viele Grüße
Peter
Benutzeravatar
tux.ICBlood
Member
Member
Beiträge: 95
Registriert: 5. Apr 2004, 09:23
Wohnort: Köln
Kontaktdaten:

Beitrag von tux.ICBlood »

Erstmal danke für die schnelle Hilfe. :idea:
Aber gibt es keine Möglichkeit das in einer Datei zu behalten? Ich find das nichz gut wenn ich für ein script 10 Dateien brauche.
gruss tux.ICBlood

www.gultsch.de

A programmer is only a tool, which converts caffeine to Software
peedee

Beitrag von peedee »

Hi, Du kannst das folgendermaßen machen:

z.B.

sort <<ENDE
hans
peter
thomas
ENDE

dann wird die Eingabe bis zum Wort nach << (hier: ENDE) umgeleitet.

Das habe ich aus einem sehr guten Buch über Linux-Shells:

eBook - Linux-Unix-Shells, Bourne-Shell, Korn-Shell, C-Shell, bash, tcsh, 3. Auflage - GERMAN - ISBN 3-8273-1511-5.pdf

vielleicht gibt es das ja auch in aMule?

Viele Grüße
Peter
Benutzeravatar
tux.ICBlood
Member
Member
Beiträge: 95
Registriert: 5. Apr 2004, 09:23
Wohnort: Köln
Kontaktdaten:

Beitrag von tux.ICBlood »

Ja danke - ich habe mir auch ein Shellbuch geholt (Ich finds gedrukt besser, weills dann neben dem PC liegt) da steht drin (Achtung anders Thema *g*) dass ich einen Tabulator mit \t erzeuge. Bei mir geht das allerdings nicht.

Code: Alles auswählen

echo Hier ist ein Tabulator \t und weiter
Da bekomme ich nur die Ausgabe :
Hier ist ein Tabulator t und weiter.
gruss tux.ICBlood

www.gultsch.de

A programmer is only a tool, which converts caffeine to Software
peedee

Beitrag von peedee »

echo -e "Hallo \t Tux"

Du mußt -e übergeben, dann benutzt bash die Sonderzeichen aus der Programmiersprache C.

Peter
Antworten