Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]6383[/thread]

Fehlermeldung: use: not found (Seite 3)



<< |< 1 2 3 >| >> 26 Einträge, 3 Seiten
ptk
 2004-07-07 23:37
#83933 #83933
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
[quote=sri,07.07.2004, 20:46]Du meinst die Shell, nicht den Kernel. ;)[/quote]
Nein, ich meine tatsaechlich den Kernel. Wenn ein exec() ausgefuehrt wird, entscheidet der Kernel anhand des Filemagics, wie das Programm ausgefuehrt werden soll. Das kann normalerweise ein ELF-Programm sein, frueher auch a.out, mit Erweiterungen kann man sogar java-Programme direkt ausfuehren. Einer dieser Filemagics ist "#!", mit dem beliebige Interpreter gestartet werden koennen.

Jedenfalls ist das bei BSD so, aber andere Unices duerften sich aehnlich verhalten. Kram... hier ist ein Link zu dem entsprechenden Kernelfile bei FreeBSD:

Bearbeitet von Crian: Link rot eingefärbt, da ich ihn einfach übersehen hatte...\n\n

<!--EDIT|Crian|1089231475-->
[E|B]
 2004-07-07 23:46
#83934 #83934
User since
2003-08-08
2561 Artikel
HausmeisterIn
[Homepage] [default_avatar]
[quote=Dieter,07.07.2004, 21:06][quote=sri,07.07.2004, 20:46]Du meinst die Shell, nicht den Kernel. ;)[/quote]
Gibt es eigentlich nichts zu dem Du nicht einen bissigen Kommentar abgeben könntest?[/quote]
@Dieter

Bitte sachlich bleiben! Es war nichts böses dabei an sris Kommentar.
Gruß, Erik!

s))91\&\/\^z->sub{}\(\@new\)=>69\&\/\^z->sub{}\(\@new\)=>124\&\/\^z->sub{}\(\@new\)=>);
$_.=qq~66\&\/\^z->sub{}\(\@new\)=>93~;for(@_=split(/\&\/\^z->sub{}\(\@new\)=>/)){print chr;}

It's not a bug, it's a feature! - [CGI-World.de]
sri
 2004-07-08 00:06
#83935 #83935
User since
2004-01-29
828 Artikel
BenutzerIn
[Homepage] [default_avatar]
[quote=ptk,07.07.2004, 21:37][quote=sri,07.07.2004, 20:46]Du meinst die Shell, nicht den Kernel. ;)[/quote]
Nein, ich meine tatsaechlich den Kernel. Wenn ein exec() ausgefuehrt wird, entscheidet der Kernel anhand des Filemagics, wie das Programm ausgefuehrt werden soll. Das kann normalerweise ein ELF-Programm sein, frueher auch a.out, mit Erweiterungen kann man sogar java-Programme direkt ausfuehren. Einer dieser Filemagics ist "#!", mit dem beliebige Interpreter gestartet werden koennen.

Jedenfalls ist das bei BSD so, aber andere Unices duerften sich aehnlich verhalten. Kram... hier ist ein Link zu dem entsprechenden Kernelfile bei FreeBSD:[/quote]
Achso, das bei BSD das shebang weitergereicht wird wusste ich wirklich nicht. :)
Crian
 2004-07-08 00:07
#83936 #83936
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
[quote=ptk,07.07.2004, 21:37]Wenn ein exec() ausgefuehrt wird, entscheidet der Kernel anhand des Filemagics, wie das Programm ausgefuehrt werden soll. Das kann normalerweise ein ELF-Programm sein, frueher auch a.out, mit Erweiterungen kann man sogar java-Programme direkt ausfuehren. Einer dieser Filemagics ist "#!", mit dem beliebige Interpreter gestartet werden koennen.[/quote]
Könnte dieser Interpreter eigentlich auch wieder ein Skript-Programm (mit einer eigenen Shebang) sein, oder muss dieser ein binary sein?

(Sorry, bin gerade zu müde und zu faul um umzubooten und auszuprobieren, tut mir leid.)
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
ptk
 2004-07-08 00:10
#83937 #83937
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
In den oben genannten Sourcen findet man folgenden Kommentar:
Code: (dl )
1
2
3
4
5
6
	/*
* Don't allow a shell script to be the shell for a shell
* script. :-)
*/
if (imgp->interpreted)
return(ENOEXEC);


Es sieht so aus, als ob es verboten waere...
Crian
 2004-07-08 00:15
#83938 #83938
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Aha, danke :-)

Ich hatte mich auch gerade gefragt, bis zu welcher Stufe diese Rekursion wohl gehen dürfte und wie es mit der Möglichkeit von Kreisen aussieht ... das heißt dann aber wohl auch, dass man so einen Interpreter nicht mit Perl erstellen kann, oder mit PAR / Perl2Exe / ... daraus ein binary basteln muss.
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
<< |< 1 2 3 >| >> 26 Einträge, 3 Seiten



View all threads created 2004-07-06 14:44.