Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: Linux Forum Linux-Web.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

ShadowOne

Anfänger

  • »ShadowOne« ist männlich
  • »ShadowOne« ist der Autor dieses Themas

Beiträge: 3

Wohnort: Darmstadt

Beruf: Student

  • Nachricht senden

1

12.02.2004, 22:18

Ärger mit ./configure

Hi!

Ich hab ein fieses Problem mit dem ./configure bei nem Quellcode-Programm. Ich geb also in der Bash ein: sh configure, aber
es bleibt hängen bzw. fängt garnicht erst an das Script abzuarbeiten, sondern verabschiedet sich sofort mit mehreren "Command not found"-Meldungen und einem Hinweis auf einen Error in der nähe eines Tokens. Unter Cygwin arbetiet es in der Shell völlig problemlos, und andere SuSE-User haben es auch hinbekommen das Script zum laufen zu bekommen, aber warums bei mir nicht läuft ist mysteriös...
Einen Hinweis hab ich mi Netz gefunden, wo jemand den selben Output hatte. An dieser Stelle hiess es, das Problem wäre, dass er ein sh-Script an eine bash verfüttert ( in den sscripten steht auch #!/bin/sh

Mit diesem Problem hab ich nun s oziemlich jeded Linux-Board genervt...:'(

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »ShadowOne« (12.02.2004, 22:20)


2

12.02.2004, 23:13

Infos über / welches Programm und die Fehlermeldung(en) wären sicher hilfreich ... ;)


Michael
Life is like ice cream: enjoy it before it melts!
"If there is (a God), all evidence indicates that He hates me." - Matt Groening

Neo23X0

Fortgeschrittener

  • »Neo23X0« ist männlich

Beiträge: 322

Beruf: IT Consultant

  • Nachricht senden

3

13.02.2004, 00:50

Nur doof, dass unter SUSE soweit ich weiß die Datei /bin/sh ein Verweis auf die /bin/bash ist. Das ist dann uncool, oder?

Versuch das Skript mal mit ner anderen Shell auszuführen.

cat /etc/shells

Ich seh grad - unter Debian ist das bei mir auch so. *lol* Wußt ich gar nicht. :crazy:

versuch ne zsh, csh oder ne tcsh.


Gruß - Bye

guru@linux:~> who I grep -i blonde I talk; cd ~;
wine; talk; touch; unzip; touch; strip; gasp; finger;
mount; fsck; more; yes; gasp; umount; make clean; sleep;

tierralinda.de

4

13.02.2004, 09:22

> Versuch das Skript mal mit ner anderen Shell auszuführen.

neee, des wird nichts!
Jede Shell hat eine eigene Syntax (Sprache), die kann man nicht mal kurz wie ein paar stinkende Socken auswechseln ...


Michael
Life is like ice cream: enjoy it before it melts!
"If there is (a God), all evidence indicates that He hates me." - Matt Groening

Chucky the Devil

Pianist im Puff

  • »Chucky the Devil« ist männlich

Beiträge: 1 636

Wohnort: Koeln

Beruf: Network Architect

  • Nachricht senden

5

13.02.2004, 10:06

> Jede Shell hat eine eigene Syntax (Sprache), die kann man nicht mal kurz wie ein
> paar stinkende Socken auswechseln ...
>
Diesehalb und desterwegen, schreibt man Shell-Skripte auch immer fuer die orig. sh (/bin/sh).

Selbst die Debian Entwickler haben die tottelige Angewohnheit /bin/bash als Shebang zu setzen.

Neo23X0

Fortgeschrittener

  • »Neo23X0« ist männlich

Beiträge: 322

Beruf: IT Consultant

  • Nachricht senden

6

13.02.2004, 10:14

Zitat

neee, des wird nichts!
Jede Shell hat eine eigene Syntax (Sprache), die kann man nicht mal kurz wie ein paar stinkende Socken auswechseln ...


@Michael
Is mir schon klar. Es hatte sich nur so dargestellt, als ob das von ihm verwendete shell-skript in seiner Shell nicht läuft. Sollte nur ein Versuch sein. Also nicht bös sein über mein Brainstorming.

@ShadowOne
Hab dann noch ne Idee. Ich wette, Deine PATH-Variable ist Dein Problem.
Überprüf die mal.
Ist es bestimmt. Wenn er sagt - command not found - findet er min. eins der verwendeten Programme nicht.

Arbeitest Du als root?

wie wechselst Du da hin?

echo $PATH

jepp jepp jepp

guru@linux:~> who I grep -i blonde I talk; cd ~;
wine; talk; touch; unzip; touch; strip; gasp; finger;
mount; fsck; more; yes; gasp; umount; make clean; sleep;

tierralinda.de

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Neo23X0« (13.02.2004, 10:14)


7

13.02.2004, 10:35

@Neo23X0:

solange der Bub keine weiteren Infos rausrückt, kann unsereiner doch nur raten, wo der Fehler liegen könnte!
So geht das nicht ... :crazy: ;)

Michael
Life is like ice cream: enjoy it before it melts!
"If there is (a God), all evidence indicates that He hates me." - Matt Groening

8

13.02.2004, 11:58

> Nur doof, dass unter SUSE soweit ich weiß die Datei /bin/sh ein Verweis auf die /bin/bash ist.

AFAIK ist das bei allen Linuxen so.

> Das ist dann uncool, oder?

Nicht nur das, das ist totaler Muell.
Ein Script, das einen /bin/sh She-bang hat und nur auf der Bash laeuft ist eine typische Linux Erfindung...

Gruss
kp

ShadowOne

Anfänger

  • »ShadowOne« ist männlich
  • »ShadowOne« ist der Autor dieses Themas

Beiträge: 3

Wohnort: Darmstadt

Beruf: Student

  • Nachricht senden

9

13.02.2004, 21:47

Huiuiui!
Langsam leute, rück ja schon mehr infos raus..

Also, das Program ist OpenSG ( Ist ne Graphik-Geschichte)
Die Fehlermeldungen hat ich schon im ersten Post genannt, mehr als Command not found und syntax error near unexpected token rückt configure nicht raus.

Das mit dem link auf die Bash hab ich mittlerweile auch entdeckt, und auch die ganzen Shells hab ich spassehalber mal durchprobiert, ohne erfolg.

Ich hab zum test mal das configure-File vom Midnight-Commander-Sourcepaket laufen lassem, und das ist reibungslos gelaufen, also liegts wohl definitiv nicht am System sondern am Skript. Mir ist im MC-Skript aufgefallen, dass als eine der ersten maßnahmen geguckt wird ob die Shell sh-kompatibel ist, ansonsten wird sie irgendwie emuliert.
Kann ich mir die Original-sh-Shell irgendwo runterladen, und dann einfach damit arbeiten?

Werd auch das mal mit dem neu angelegten User ausprobiern...

10

13.03.2004, 22:07

Zitat

Original von kernelpanic
Ein Script, das einen /bin/sh She-bang hat und nur auf der Bash laeuft ist eine typische Linux Erfindung...

Ist es nicht so, dass die Bash, wenn sie als sh aufgerufen wurde, im Bourne Shell "Kompatibilitätsmodus" läuft und daher keine Bash-Extras akzeptiert?

Zitat

If bash is invoked with the name sh, it tries to mimic the startup behavior of historical versions of sh as closely as possible, while conforming to the POSIX standard as well.


Daher könnte eine Änderung im Shebang von /bin/sh auf /bin/bash durchaus etwas bewirken.

ShadowOne

Anfänger

  • »ShadowOne« ist männlich
  • »ShadowOne« ist der Autor dieses Themas

Beiträge: 3

Wohnort: Darmstadt

Beruf: Student

  • Nachricht senden

11

14.03.2004, 14:48

Hallo!

Also, da Problem hat sich mittlerweile geklärt.

Ich hatte den Source unter Windows ausgecheckt. Dabei sind die Steuerzeichen im Source-Code durcheinandergewirbelt und auf Windows-Systematik umgeändert worden, so dass der Compiler anschliessend in den Scripten die Zeichen nicht mehr verstanden hat.

Ein auschecken unter Linux hat dann zum Erfolg geführt :)

tacuma

Anfänger

  • »tacuma« ist männlich

Beiträge: 37

Wohnort: Berlin

Beruf: Produktmanager/System Specialist

  • Nachricht senden

12

20.05.2004, 10:37

Zitat

Original von kernelpanic
> Nur doof, dass unter SUSE soweit ich weiß die Datei /bin/sh ein Verweis auf die /bin/bash ist.

AFAIK ist das bei allen Linuxen so.

> Das ist dann uncool, oder?

Nicht nur das, das ist totaler Muell.
Ein Script, das einen /bin/sh She-bang hat und nur auf der Bash laeuft ist eine typische Linux Erfindung...

Gruss
kp


Mal schön den Ball flach halten, welche Shell statt der bash soll denn sonst /bin/sh sein?

Es gibt grundsätzlich zwei Shell-Familien "Bourne-Shell" und "C-Shell", die wirklich vollkommen unterschiedlich sind.
Die "Bourne-Shell" ist die, die mit /bin/sh aufgerufen wird. Ich behaupte, es gibt gar keine Original-Bourne Shells mehr. Sowohl bei GNU als auch bei den kommerziellen Unixen ist diese weiter entwickelt worden. Es entstanden bash und Korn-Shell; diese können alles was die Bourne-Shell kann plus eigener Erweiterungen. In der Regel haben diese Nachfolger das Feature, dass sie beim Aufruf prüfen, unter welchem Namen sie aufgerufen wurden, und wenn das /bin/sh ist, dann werden die Erweiterungen ausgeschaltet. So ist das auch bei der bash, wie sich in der Doku leicht nachlesen lässt.

Also der ursprüngliche Fehler liegt woanders. Und da fehlen halt noch ein paar Infos...

Ciao,
tacuma
.

Chucky the Devil

Pianist im Puff

  • »Chucky the Devil« ist männlich

Beiträge: 1 636

Wohnort: Koeln

Beruf: Network Architect

  • Nachricht senden

13

21.05.2004, 08:58

Halt Du mal lieber den Ball flach. Zitat D. Nuhr: "Wenn man keine Ahnung hat.."

> Mal schön den Ball flach halten, welche Shell statt der bash soll denn
> sonst /bin/sh sein?
>
Eine Bourne-Shell - kompatible Shell (SH, ASH, ..) bzw. ein Symlink
gegen eine solche Shell. Es sind *nur* Linux - Distrubtionen die dort
einen Symlink gegen die Bash haben; bei keinem (kommerziellen) UNIX ist
die Bash Bestandteil des Systems (weder bei SunOS, HP-UX, AIX; IRIX;
OSF, ..), sondern lediglich als Zusatzpaket verfuegbar.

> Es gibt grundsätzlich zwei Shell-Familien "Bourne-Shell" und "C-Shell",
> die wirklich vollkommen unterschiedlich sind.
>
Das ist Schwachsinn. Es gibt exakt eine Bourne-Shell; der Rest (CSH;
Bash, KSH, ..) sind abgeleitete Varianten der Bourne-Shell und die CSH
ist ein Haufen Scheisse, weil sie nicht aufwaertskompatibel zur
Bourne-Shell ist.

> Die "Bourne-Shell" ist die, die mit /bin/sh aufgerufen wird. Ich behaupte, es
> gibt gar keine Original-Bourne Shells mehr.
>
Die Bourne-Shell ist die Standard-Shell von UNIX-System V; das war sie, das
ist sie und das wird wahrscheinlich auch immer bleiben. SunOS z. B.
faehrt ohne der Bourne-Shell als /bin/sh gar nicht erst hoch, weil
*alle* INIT-Scripte diese Shell parsen. Gleiches gilt fuer AIX und
Ultrix. Ferner ist auch die originale Bourne-Shell Bestandteil von
4.4BSD.

> Sowohl bei GNU als auch bei den kommerziellen Unixen ist diese weiter
> entwickelt worden.
>
Nein. Bourne-Shell != Bash/KSH/CSH
Die Bourne-Shell kann z. B. "$()", "print" und "$[]" im Gegensatz zur
Bash nicht verarbeiten, weil es im IEEE Std 1003.1 nicht spezifiziert
ist. So enthaelt auch fast jedes rc/INIT/.. - Script bei den meisten
Distrubtionen Arithmetische Expandierung und wenn man solche Script mit
der Bourne-Shell abarbeiten will, ist man im Arsch.

> Es entstanden bash und Korn-Shell; diese können alles was die Bourne-Shell
> kann plus eigener Erweiterungen.
>
Ein Satz von folgeloser Richtigkeit. Du bist also doch in der Lage
/DESCRIPTION der Manpages besagter Shells zu lesen.

> In der Regel haben diese Nachfolger das Feature, dass sie beim Aufruf
> prüfen, unter welchem Namen sie aufgerufen wurden, und wenn das /bin/sh ist,
> dann werden die Erweiterungen ausgeschaltet.
>
Der Kernel liefert, wenn er Shellscripte ausfuehren soll, die kein
"#!/path/to/interpreter" am Anfang stehen haben, ENOEXEC als
Fehlermeldung zurueck, und es ist Sache der Shell, dann noch etwas
vernuenftiges zu machen. tcsh, pdksh und tclsh machen es so dass sie
"/bin/sh script" starten.
Die Bash arbeitet da anders - sie fuehrt das Script (in dem schon
geforkten neuen Prozess) selbst aus (und sollte der Sinn der Uebung der
gewesen sein zu pruefen ob das Script fehlerfrei nicht nur unter Bash,
sondern auch unter einer "primitiveren" Shell laufen kann, dann hat man
Pech). rc (die Plan9-Shell) fuehrt Scripte ohne "#!" gar nicht erst aus
und bei csh ist es noch lustiger. Wenn das Script mit ":" beginnt, wird
es an /bin/sh weitergegeben, ansonsten selber ausgefuehrt.

> So ist das auch bei der bash, wie sich in der Doku leicht nachlesen
> lässt.
>
Dann zitiere doch bitte mal den entsprechenden Abschnitt (mit Quellenangabe).

tacuma

Anfänger

  • »tacuma« ist männlich

Beiträge: 37

Wohnort: Berlin

Beruf: Produktmanager/System Specialist

  • Nachricht senden

14

22.05.2004, 10:04

Zitat

Original von Chucky the Devil
Halt Du mal lieber den Ball flach. Zitat D. Nuhr: "Wenn man keine Ahnung hat.."

> Mal schön den Ball flach halten, welche Shell statt der bash soll denn
> sonst /bin/sh sein?
>
Eine Bourne-Shell - kompatible Shell (SH, ASH, ..) bzw. ein Symlink
gegen eine solche Shell. Es sind *nur* Linux - Distrubtionen die dort
einen Symlink gegen die Bash haben; bei keinem (kommerziellen) UNIX ist
die Bash Bestandteil des Systems (weder bei SunOS, HP-UX, AIX; IRIX;
OSF, ..), sondern lediglich als Zusatzpaket verfuegbar.

Den Ball flach halten:
http://www.redensarten-index.de/suche.ph…te%5B%5D=bsp_ou

Ich habe habe niemanden beschimpft, sondern einen Sachverhalt in, für manche Leute in unzumutbar verkürzter Form, dargestellt.

Zitat


> Es gibt grundsätzlich zwei Shell-Familien "Bourne-Shell" und "C-Shell",
> die wirklich vollkommen unterschiedlich sind.
>
Das ist Schwachsinn. Es gibt exakt eine Bourne-Shell; der Rest (CSH;
Bash, KSH, ..) sind abgeleitete Varianten der Bourne-Shell und die CSH
ist ein Haufen Scheisse, weil sie nicht aufwaertskompatibel zur
Bourne-Shell ist.

Halt mal, ich sage, es gibt zwei Familien, die Bären und die Affen und brüllst dazwischen:
"Das ist Schwachsinn, weil es gibt nur einen Papa-Bär, und die Affen sind Scheisse, weil sie keinen Lachs fischen"
Etwas mehr Abstraktionsvermögen könnte für die Rezeption eines Web-Forums schon hilfreich sein.

BTW: Meinst Du nicht eigentlich abwärtskompatibel?

Zitat


> Die "Bourne-Shell" ist die, die mit /bin/sh aufgerufen wird. Ich behaupte, es
> gibt gar keine Original-Bourne Shells mehr.
>
Die Bourne-Shell ist die Standard-Shell von UNIX-System V; das war sie, das
ist sie und das wird wahrscheinlich auch immer bleiben. SunOS z. B.
faehrt ohne der Bourne-Shell als /bin/sh gar nicht erst hoch, weil
*alle* INIT-Scripte diese Shell parsen. Gleiches gilt fuer AIX und
Ultrix. Ferner ist auch die originale Bourne-Shell Bestandteil von
4.4BSD.

Ein Unix-System V gibt es genau so wenig wie einen Lateiner.
Meines Wissens ist die sh auf Aix ein Symlink auf die ksh, die dann die Extras abschaltet, vergleichbar der bash.

Zitat


> Sowohl bei GNU als auch bei den kommerziellen Unixen ist diese weiter
> entwickelt worden.
>
Nein. Bourne-Shell != Bash/KSH/CSH

Steht nicht im Widerspruch zu meiner Aussage

Zitat


Die Bourne-Shell kann z. B. "$()", "print" und "$[]" im Gegensatz zur
Bash nicht verarbeiten, weil es im IEEE Std 1003.1 nicht spezifiziert
ist. So enthaelt auch fast jedes rc/INIT/.. - Script bei den meisten
Distrubtionen Arithmetische Expandierung und wenn man solche Script mit
der Bourne-Shell abarbeiten will, ist man im Arsch.

Sehr gut beobachtet, wenn die Anführung an dieser Stelle auch etwas beliebig wirkt.

Zitat


> Es entstanden bash und Korn-Shell; diese können alles was die Bourne-Shell
> kann plus eigener Erweiterungen.
>
Ein Satz von folgeloser Richtigkeit. Du bist also doch in der Lage
/DESCRIPTION der Manpages besagter Shells zu lesen.

Das ist nicht folgelos, wenn man das zu dem Anspruch der bash, unter dem Name sh aufgerufen, dessen Verhalten emulieren zu können, in Beziehung setzt.

Zitat


> In der Regel haben diese Nachfolger das Feature, dass sie beim Aufruf
> prüfen, unter welchem Namen sie aufgerufen wurden, und wenn das /bin/sh ist,
> dann werden die Erweiterungen ausgeschaltet.
>
Der Kernel liefert, wenn er Shellscripte ausfuehren soll, die kein
"#!/path/to/interpreter" am Anfang stehen haben, ENOEXEC als
Fehlermeldung zurueck, und es ist Sache der Shell, dann noch etwas
vernuenftiges zu machen. tcsh, pdksh und tclsh machen es so dass sie
"/bin/sh script" starten.
Die Bash arbeitet da anders - sie fuehrt das Script (in dem schon
geforkten neuen Prozess) selbst aus (und sollte der Sinn der Uebung der
gewesen sein zu pruefen ob das Script fehlerfrei nicht nur unter Bash,
sondern auch unter einer "primitiveren" Shell laufen kann, dann hat man
Pech). rc (die Plan9-Shell) fuehrt Scripte ohne "#!" gar nicht erst aus
und bei csh ist es noch lustiger. Wenn das Script mit ":" beginnt, wird
es an /bin/sh weitergegeben, ansonsten selber ausgefuehrt.

Statt folgeloser Richtigkeit muss ich hier richtige Folgelosigkeit konstatieren -- zumindest was das eigentliche Thema angeht.
Aber ich habe wieder was gelernt; der Autor erhält einen Fleißpunkt

Zitat


> So ist das auch bei der bash, wie sich in der Doku leicht nachlesen
> lässt.
>
Dann zitiere doch bitte mal den entsprechenden Abschnitt (mit Quellenangabe).

Aus der Manual Page der bash, debian woody:
...
If bash is invoked with the name sh, it tries to mimic the startup behavior of
historical versions of sh as closely as possible, while conforming to the POSIX
standard as well.
...

Zusammenfassend:
Hey Chucky, Du mich auch! :teufel:

Chucky the Devil

Pianist im Puff

  • »Chucky the Devil« ist männlich

Beiträge: 1 636

Wohnort: Koeln

Beruf: Network Architect

  • Nachricht senden

15

24.05.2004, 08:54

> Halt mal, ich sage, es gibt zwei Familien, die Bären und die Affen und
> brüllst dazwischen:
> "Das ist Schwachsinn, weil es gibt nur einen Papa-Bär, und die Affen sind
> Scheisse, weil sie keinen Lachs fischen"
>
Dein Vergleich hinkt. Und zwar ganz gewaltig (so wie alle Vergleiche).

> BTW: Meinst Du nicht eigentlich abwärtskompatibel?
>
Nein. Sonst haette ich es geschrieben.

> Ein Unix-System V gibt es genau so wenig wie einen Lateiner.
>
Man moege mir verzeihen. Dann nennen wir es mal SVR4 oder System V
Release 4

> Meines Wissens ist die sh auf Aix ein Symlink auf die ksh, die dann die
> Extras abschaltet, vergleichbar der bash.
>
Nein.

Quellcode

1
2
3
4
5
#v+
$ ls -l /bin/sh && uname -a
-r-xr-xr-x 4 bin bin 240326 Dec 02 17:27 /bin/sh
AIX nntp-host 2 5 000F218D4C00
#v-


> Steht nicht im Widerspruch zu meiner Aussage
>
Nein. Die Bourne-Shell wurde nicht von GNU oder "kommerziellen Unixen"
weiterentwickelt, sondern die Bourne-Shell als /bin/sh hat bei Linux
"ausgedient" und ist nicht mehr Bestandteil des Systems.

> Aus der Manual Page der bash, debian woody:
>
recursion(42). Die Erweiterungen werden nicht "abgeschaltet", sondern
lediglich POSIX-konform abgearbeitet.

rantanplan

Anfänger

  • »rantanplan« ist männlich

Beiträge: 26

Wohnort: Berlin

Beruf: IT Spezialist

  • Nachricht senden

16

01.09.2004, 04:04

Könnt ihr auch programmieren?
Where do you want to go today?
- ANIwhere!

http://ani.sourceforge.net

Chucky the Devil

Pianist im Puff

  • »Chucky the Devil« ist männlich

Beiträge: 1 636

Wohnort: Koeln

Beruf: Network Architect

  • Nachricht senden

17

01.09.2004, 09:04

Noe. Ich kann weder Programmieren noch hab ich Ahnung von Un*x/Linux

Pharao

2 sexy 4 my Linux

  • »Pharao« ist männlich

Beiträge: 4 214

Wohnort: Hirschhorn / Neckar

Beruf: Schüler

  • Nachricht senden

18

01.09.2004, 10:28

Zitat

Original von rantanplan
Könnt ihr auch programmieren?

klar word-makros
close the world - open the next


"funzt" und jegliche Abwandlung davon ist kein Wort, egal wie oft du es dir einredest, verdammt nochmal!

19

01.09.2004, 16:08

Zitat

Original von rantanplan
Könnt ihr auch programmieren?


nur basic, da arbeitet man noch mit goto
uno sciocco trova sempre un altro sciocco che lo ammira

Thema bewerten