Veröffentlicht 13. Oktober 200321 j Hi Leute, habe ein großes Problem an einem Linux-Server. Das Install-Skript von einem Programm bricht immer ab. An einem anderen Linux-Rechner zu Testen lief es ohne Probleme durch, aber an dem, wofür es eigentlich bestimmt ist, kommt beim Aufruf des Skriptes folgender Fehler, und ich vermute, dass irgendwelche Pakete fehlen, obwohl nach dem vergleichen der Pakete auf den Systemen eigentlich alles ziemlich identisch ist...: LinuxPC:/home/Install/Programm # ./INSTALL : command not found : command not found : command not found '/INSTALL: line 5: syntax error near unexpected token ` '/INSTALL: line 5: `echo_n() Hat jemand eine Idee oder einen Tipp? Wäre sehr dankbar... Danke schon mal an alle. :cool:
13. Oktober 200321 j Original geschrieben von dr.disk Was steht in dem Skript in Zeile 5 drin? [Offtopic] eine gute Frage :cool: [/Offtopic]
14. Oktober 200321 j Hi Leute, also in der Zeile fünf steht nur das, was auch oben zu sehen ost. Dieses echo_n... Kann ich leider nix mit anfangen. Ich weiß nur, dass es auf einem anderen testweise installierten Linux-Rechner sofort geklappt hatte. Hier mal das Install-Skript von Zeile 5 bis Zeile 10: echo_n() { case "$TARGET" in aix | hpux | sol*) echo "$1\c" ;; Danke schon mal... :confused:
14. Oktober 200321 j Was ist denn das für ne Sprache? Poste am Besten auch mal die ersten paar Zeilen noch dazu...
14. Oktober 200321 j Original geschrieben von Nightflyer2000 Hi Leute, also in der Zeile fünf steht nur das, was auch oben zu sehen ost. Dieses echo_n... Kann ich leider nix mit anfangen. Ich weiß nur, dass es auf einem anderen testweise installierten Linux-Rechner sofort geklappt hatte. Hier mal das Install-Skript von Zeile 5 bis Zeile 10: echo_n() { case "$TARGET" in aix | hpux | sol*) echo "$1\c" ;; Danke schon mal... :confused: Das sieht mir nach Shellskript aus... Bitte poste mal das gesamte Skript, sofern es nicht allzu groß ist. Aber bevor du dies tust, mach dir eine Sicherungskopie und probiere folgendes: Ändere die Funktion echo_n () folgender maßen ab: Original echo_n() { case "$TARGET" in aix | hpux | sol*) echo "$1\c" ;; Nachher echo_n () { case "$TARGET" in aix | hpux | sol*) echo "$1\c";; esac } das esac hat gefehlt - denke ich. Wenn alles nix hilft poste nochmal bzw. das Skript
16. Oktober 200321 j Hi Leute, danke schon mal für Eure Tipps, aber es klappt leider immer noch nicht. Mich wunderte s total, dass es auf einem anderen Test-Linux-Rechner ohne Probleme lief. Da muss noch irgendein Paket mit den entsprechenden Befehlen oder Codes oder so nachinstalliert werden, denke ich. Sonst hab ich keine Idee mehr... Hier mal der ganze Code und danke schon mal an alle. Ich hoffe, dass ich das wegen dem Copyright veröffentlichen darf. Sonst löscht es wieder raus...: # Copyright VERITAS Software Corp. 1994-1997, 1999. All Rights Reserved. echo_n() { case "$TARGET" in aix | hpux | sol*) echo "$1\c" ;; *) echo -n "$1" ;; esac } translate() { case $1 in "english") trans_nls=English ;; "french") trans_nls=Francais ;; "german") trans_nls=Deutsch ;; "spanish") trans_nls=Espanol ;; *) trans_nls=Unknown ;; esac } TARGET=`./BE_IDENT $1` echo echo "Backup Exec Unix Agent Language Selection v42" echo LANGUAGES="english french german spanish" lang_install= for check in $LANGUAGES do if [ -d "$check" ] then lang_install="$lang_install $check" fi done if [ "$lang_install" = "" ] then echo "Sorry, no language support available. Contact your vendor." exit 1 fi count=0 for lang in $lang_install do count=`expr $count + 1` done if [ "$count" != "1" ] then ok=0 while [ $ok = 0 ] do echo count=0 for lang in $lang_install do translate $lang count=`expr $count + 1` echo " $count) $trans_nls" done echo echo_n " Select Language: " read num echo if [ $num -gt 0 -a $num -le $count ] then set $lang_install count1=1 while [ "$num" != "$count1" ] do count1=`expr $count1 + 1` shift done selected="$1" ok=1 $selected/SETUP $TARGET else echo "Please select a number between 1 and $count." fi done else $lang_install/SETUP $TARGET fi if [ "$?" = "0" ] then rm -rf common rm -rf english rm -rf french rm -rf german rm -rf spanish rm -f BE_IDENT rm -f INSTALL fi
16. Oktober 200321 j Wie startest Du das Skript? Da keine She-Bang-Zeile da ist mußt Du es mit 'bash <Skriptname>' starten.
20. Oktober 200321 j Also das Skript starte ich ganz normal mit ./Skriptname und es wird auch ohne Probleme gestartet, nur dass eben euf einem Rechner dieser Fehler kommt und auf einem anderen klappt es ohne Probleme. Bitte helft mir... Bis später... :cool:
27. Oktober 200321 j Hi Leute, bin leider immer noch nicht auf eine Lösung gekommen. Hat jemand noch eine Idee? Bis später...
27. Oktober 200321 j Hallo, Die Fehlermeldung deutet darauf hin, dass die Suchpfade der Shells unterschiedlich sind und einige Befehle nicht gefunden werden (echo). Schau Dir mal die Pfade an und vergleiche sie. Nic
27. Oktober 200321 j Danke für die Antwort. Welche Pfade meinst Du genau? Wo lasse ich mir die anzeigen bzw. wo ändere ich sie? Danke schon mal. :cool:
27. Oktober 200321 j Hallo, anzeigen geht beispielsweise mit "echo $PATH" oder "echo $path". Das Setzen ist von der Shell abhängig. Bourne/Bash mit "PATH=$PATH:/meinPfad" in der csh/tcsh über setenv. Nic
27. Oktober 200321 j Danke, hatte ich auch mit set gefunden. Da steht es auch drin, allerdings ist Dein Befehl schöner... ;-) Es haben einige Pfade gefehlt. Ich habe jetzt alle Pfade genauso, wie sie auf dem Rechner sind, wo es funktioniert, aber es klappt immer noch nicht. Der selbe Fehler wie oben beschrieben ist immer noch. Man muss doch nicht booten, damit die hinzugefügten Pfade erkannt werden, oder? Noch eine Idee? Danke schon mal... :cool:
27. Oktober 200321 j Hallo, nein, neu Booten musst Du nicht. Allerdings unter Umständen die Pfade exportieren (einfach ein "export" vor das "PATH=..." Statement schreiben). Nic
27. Oktober 200321 j Hmm, ich sag es ja nur ungerne, aber ich hab jetzt alle wichtigen Pfade exportiert und das Ergebnis ist das selbe. Es klappt immer noch nicht. Bitte noch ein Tipp... :cool:
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.