PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ./ anstatt von sh <Dateiname>


Exxtreme
2003-08-31, 22:07:54
Hi Leute,

wie kann ich es einrichten, daß ich z.B. ./configure eintippen kann und es funktioniert? Bis jetzt konnte ich es per "sh configure" starten. Das Problem bei der Sache ist, daß ich viele Programme nicht kompilieren kann da diese wohl das Kommando "./a.out" zum Compiler-Check nutzen.

Harleckin
2003-09-01, 08:46:56
Evt. die Datei ausführbar machen.. 'chmod o+x configure'.
Andernsfalls muss der Kernel "a.out" Binaries unterstützen.


MfG

Exxtreme
2003-09-01, 08:50:26
Das Ausführen-Attribut ist gesetzt. Das Problem ist, daß ich gar keine Skripte mit "./<Skript>" starten kann. Mit "sh <Skript> klappt es hingegen.

Harleckin
2003-09-01, 09:01:11
Liegt es an deiner shell? Welche nutzt du? Bash, Ksh, Bsh, Zsh usw.?

Ein Script mittels 'sh foo.sh' aufzurufen veranlasst die Shell eigentlich nur, eine Tochtershell zu öffnen und das Script zu starten.

Exxtreme
2003-09-01, 09:04:03
Original geschrieben von Harleckin
Liegt es an deiner shell? Welche nutzt du? Bash, Ksh, Bsh, Zsh usw.?

Ein Script mittels 'sh foo.sh' aufzurufen veranlasst die Shell eigentlich nur, eine Tochtershell zu öffnen und das Script zu starten.
Müsste ich schauen. Jetzt geht's leider nicht, da ich auf der Arbeit bin.

Wie finde ich raus, welche Shaell ich nutze? Da gibt es bestimmt einen Befehl. :)

Harleckin
2003-09-01, 09:15:28
Welche Shell beim Login aufgerufen wird, kann man aus der '/etc/passwd' gewinnen. (letztes Feld in der Zeile)

Außerdem sollte es noch die Umgebungsvariable "SHELL" geben.. 'echo $SHELL'. Vieleicht diese mal auf eine andere Shell umbiegen.


MfG

Exxtreme
2003-09-01, 18:36:24
Hmm, "Echo $SHELL" gibt "/bin/bash" aus.

P.S. Wenn ich ./<Dateiname> eingebe, dann bekomme ich diese Fehlermeldung:

"bash: ./configure: /bin/sh: bad interpreter: Permission denied"

Harleckin
2003-09-01, 19:25:23
Was sagt 'ls -l /bin/sh'?

Exxtreme
2003-09-01, 19:48:25
Original geschrieben von Harleckin
Was sagt 'ls -l /bin/sh'?
"lrwxrwxrwx 1 root root 4 2003-08-25 21:43 /bin/sh -> bash"

Harleckin
2003-09-01, 20:01:36
Original geschrieben von Exxtreme
"bash: ./configure: /bin/sh: bad interpreter: Permission denied"
Lass doch mal google sprechen..
und siehe da, werf mal einen Blick in die '/etc/fstab' und achte darauf das die Partition nicht mit der Option 'noexec' gemountet wurde.


MfG

Exxtreme
2003-09-01, 20:13:42
Also die Partition ist mittels:

/dev/hdb1 /mnt/Win_D vfat user,iocharset=iso8859-15,codepage=852,umask=000 0 0


gemountet.

Und ja, das hat irgendwas mit den Berechtigungen zu tun. Ich habe nämlich den Ordner mal ins home-Verzeichnis kopiert und da klappt ./configure ohne Probleme. ?-)

Harleckin
2003-09-01, 21:01:18
Na geht doch.

ThePsycho
2003-09-03, 16:11:19
nur um es mal zu erklären:

auf fat-partitionen kann man keine attribute setzen, weil das die fat-dateisysteme einfach net können/vorsehen

deshalb fehlt da auch immer das ausführen-attribut und deshalb klappt das ./<blubb> nicht

bei "sh <blubb>" wird wiederum explizit eine shell aufgerufen, die die datei ausführt, da ist das attribut nicht notwendig

nur falls du dich fragst "und warum jetzt überhaupt ?" :)

Exxtreme
2003-09-03, 16:14:11
Naja, als ich noch RH9 drauf hatte, dann konnte ich die Sachen ohne Probleme auf der FAT-Partition ausführen. Jetzt ging das nicht mehr.

Harleckin
2003-09-03, 16:16:14
Typisch, dass sind immer diese Dualbooter (Win|Lnx), mit ihren hausgemachten Problemen. :)

Exxtreme
2003-09-03, 16:26:05
Original geschrieben von Harleckin
Typisch, dass sind immer diese Dualbooter (Win|Lnx), mit ihren hausgemachten Problemen. :)
Ich bin solange Dualbooter solange nicht alle Games, die ich haben will auch für Linux erscheinen.

Aber Windows läuft bei mir nur noch sehr selten.