|
![](/App_Themes/Normal/images/Window/Backgrounds/news.gif) | Ekstern værktøj i Kate Fra : carsten |
Dato : 03-01-08 11:59 |
|
Hej NG
Jeg er rendt ind i et problem der er ved at koste mig min hårpragt,
jeg kan ikke få Kate's eksterne værktøj til at virke,
ikke en gang det den er født med fra starten.
Run Script
script: cd "%directory" && chmod u+x "%filename" && konsole -e "./%filename"
man kan lige ane at kommer en konsol op men den er nede igen inden man kan
nå at se hvad der sker,
hvad skal jeg lige rykke i, har snart ikke mere hår
/Carsten
| |
Klaus Ellegaard (03-01-2008)
![](/App_Themes/Normal/images/Window/Backgrounds/news.gif) | Kommentar Fra : Klaus Ellegaard |
Dato : 03-01-08 12:15 |
|
carsten <spam@spam.dk> writes:
>Run Script
>script: cd "%directory" && chmod u+x "%filename" && konsole -e "./%filename"
>man kan lige ane at kommer en konsol op men den er nede igen inden man kan
>nå at se hvad der sker,
Lidt afhængig af hvordan konsole virker, er den ikke modtagelig
over for den tidligere cd-kommando. Den starter altså med at være
f.eks. i dit hjemkatalog, og der er ikke noget ./%filename dér.
Det kan formentlig løses med en konsole -e "%directory/%filename"
eller måske konsole -e "cd %directory && ./%filename"
Jeg kender dog ikke konsole, så der skal nok eksperimenteres lidt.
Mvh.
Klaus.
| |
carsten (03-01-2008)
![](/App_Themes/Normal/images/Window/Backgrounds/news.gif) | Kommentar Fra : carsten |
Dato : 03-01-08 13:07 |
|
jeg har en lumsk anelse om at det er selve selve kaldet af konsole det er
galtmed, Kate er nemlig også født med et kald til google med en markeret
tekst, og det virker ok, men hvis det ikke er konsole man skal kalde hvad
skal man så,?
ingen af de indtil videre givne forslag har virket
> /Carsten
| |
Kent Friis (03-01-2008)
![](/App_Themes/Normal/images/Window/Backgrounds/news.gif) | Kommentar Fra : Kent Friis |
Dato : 03-01-08 12:35 |
|
Den Thu, 03 Jan 2008 11:59:13 +0100 skrev carsten:
> Hej NG
> Jeg er rendt ind i et problem der er ved at koste mig min hårpragt,
> jeg kan ikke få Kate's eksterne værktøj til at virke,
> ikke en gang det den er født med fra starten.
> Run Script
> script: cd "%directory" && chmod u+x "%filename" && konsole -e "./%filename"
>
> man kan lige ane at kommer en konsol op men den er nede igen inden man kan
> nå at se hvad der sker,
Hvis konsole opfører sig lige som alle andre xterm-varianter, vil den
lukke straks programmet er kørt færdigt.
Prøv at rette den til konsole -e "./%filename ; sleep 5"
Mvh
Kent
--
"So there I was surrounded by all these scary creatures
They were even scarier than what Microsoft call features"
- C64Mafia: Forbidden Forest (Don't Go Walking Slow).
| |
carsten (03-01-2008)
![](/App_Themes/Normal/images/Window/Backgrounds/news.gif) | Kommentar Fra : carsten |
Dato : 03-01-08 14:12 |
|
Problemet løst, men det var fa.. ikke nemt at gætte, da jeg ikke kan finde
dokumentation på problemet
var van til i MD, og Kates eget eksempel på et kald af et script,
var på formen ./script
men den går bare ikke på Kubuntu
../ skal skiftes ud med sh
cd "%directory" && konsole -e sh MM %filename
/Carsten
| |
Kent Friis (03-01-2008)
![](/App_Themes/Normal/images/Window/Backgrounds/news.gif) | Kommentar Fra : Kent Friis |
Dato : 03-01-08 14:18 |
|
Den Thu, 03 Jan 2008 14:12:21 +0100 skrev carsten:
> Problemet løst, men det var fa.. ikke nemt at gætte, da jeg ikke kan finde
> dokumentation på problemet
> var van til i MD, og Kates eget eksempel på et kald af et script,
> var på formen ./script
> men den går bare ikke på Kubuntu
>
> ./ skal skiftes ud med sh
>
> cd "%directory" && konsole -e sh MM %filename
Så har du glemt at give dig selv rettigheder til scriptet (chmod u+x)
Mvh
Kent
--
"So there I was surrounded by all these scary creatures
They were even scarier than what Microsoft call features"
- C64Mafia: Forbidden Forest (Don't Go Walking Slow).
| |
![](/images/tree/0.gif) carsten (03-01-2008)
![](/App_Themes/Normal/images/Window/Backgrounds/news.gif) | Kommentar Fra : carsten |
Dato : 03-01-08 14:38 |
|
Kent Friis wrote:
> Så har du glemt at give dig selv rettigheder til scriptet (chmod u+x)
>
> Mvh
> Kent
NIX
-rwxr-xr-x 1 carsten carsten 336 2008-01-03 13:38 MM
og har også lige testet
cd "%directory" && chmod u+x "%filename" && konsole -e ./%filename
virker bare ikke
hvorimod
cd "%directory" && chmod u+x "%filename" && konsole -e sh %filename
virker
/Carsten
| |
![](/images/tree/0.gif) ![](/images/tree/0.gif) Kent Friis (03-01-2008)
![](/App_Themes/Normal/images/Window/Backgrounds/news.gif) | Kommentar Fra : Kent Friis |
Dato : 03-01-08 14:45 |
|
Den Thu, 03 Jan 2008 14:37:59 +0100 skrev carsten:
> Kent Friis wrote:
>
>> Så har du glemt at give dig selv rettigheder til scriptet (chmod u+x)
>>
>> Mvh
>> Kent
>
> NIX
> -rwxr-xr-x 1 carsten carsten 336 2008-01-03 13:38 MM
Så må det være "#!/bin/sh" der mangler.
Mvh
Kent
--
"So there I was surrounded by all these scary creatures
They were even scarier than what Microsoft call features"
- C64Mafia: Forbidden Forest (Don't Go Walking Slow).
| |
![](/images/tree/0.gif) ![](/images/tree/0.gif) ![](/images/tree/0.gif) Kent Friis (03-01-2008)
![](/App_Themes/Normal/images/Window/Backgrounds/news.gif) | Kommentar Fra : Kent Friis |
Dato : 03-01-08 14:49 |
|
Den 03 Jan 2008 13:44:52 GMT skrev Kent Friis:
> Den Thu, 03 Jan 2008 14:37:59 +0100 skrev carsten:
>> Kent Friis wrote:
>>
>>> Så har du glemt at give dig selv rettigheder til scriptet (chmod u+x)
>>>
>>> Mvh
>>> Kent
>>
>> NIX
>> -rwxr-xr-x 1 carsten carsten 336 2008-01-03 13:38 MM
>
> Så må det være "#!/bin/sh" der mangler.
Det kan også være partitionen der er mountet med noexec. Hvis det er
tilfældet, får du samme problem med andre programmer (fx hvis du
compiler et C-program) på den partition.
Mvh
Kent
--
"So there I was surrounded by all these scary creatures
They were even scarier than what Microsoft call features"
- C64Mafia: Forbidden Forest (Don't Go Walking Slow).
| |
![](/images/tree/0.gif) ![](/images/tree/0.gif) ![](/images/tree/0.gif) ![](/images/tree/0.gif) carsten (03-01-2008)
![](/App_Themes/Normal/images/Window/Backgrounds/news.gif) | Kommentar Fra : carsten |
Dato : 03-01-08 15:31 |
|
Kent Friis wrote:
>> Så må det være "#!/bin/sh" der mangler.
kommer slet ikke så langt som til at eksekvere scriptet hvis jeg ikke bruger
sh,
> Det kan også være partitionen der er mountet med noexec. Hvis det er
> tilfældet, får du samme problem med andre programmer (fx hvis du
> compiler et C-program) på den partition.
og har lige prøver at compile et lille c++ program med held
så hvad den dybere årsag til dette fænomen er, er en gåde
/Carsten
| |
![](/images/tree/0.gif) ![](/images/tree/0.gif) ![](/images/tree/0.gif) ![](/images/tree/0.gif) Jørgen Heesche (03-01-2008)
![](/App_Themes/Normal/images/Window/Backgrounds/news.gif) | Kommentar Fra : Jørgen Heesche |
Dato : 03-01-08 16:00 |
|
Kent Friis wrote:
> Den 03 Jan 2008 13:44:52 GMT skrev Kent Friis:
>> Den Thu, 03 Jan 2008 14:37:59 +0100 skrev carsten:
>>> Kent Friis wrote:
>>>
>>>> Så har du glemt at give dig selv rettigheder til scriptet (chmod u+x)
>>>>
>>>> Mvh
>>>> Kent
>>> NIX
>>> -rwxr-xr-x 1 carsten carsten 336 2008-01-03 13:38 MM
>> Så må det være "#!/bin/sh" der mangler.
>
> Det kan også være partitionen der er mountet med noexec. Hvis det er
> tilfældet, får du samme problem med andre programmer (fx hvis du
> compiler et C-program) på den partition.
>
Det er sikkert mount med noexec, der er årsagen.
Prøv at taste kommandoen mount uden options.
Et script skal kun indledes med #!/bin/sh, hvis det er skrevet til en
anden shell end default login-shell (se /etc/passwd).
--
Med venlig hilsen
Jørgen Heesche
mailto:heesche@webspeed.dk
| |
![](/images/tree/0.gif) ![](/images/tree/0.gif) ![](/images/tree/0.gif) ![](/images/tree/0.gif) ![](/images/tree/0.gif) carsten (03-01-2008)
![](/App_Themes/Normal/images/Window/Backgrounds/news.gif) | Kommentar Fra : carsten |
Dato : 03-01-08 16:13 |
|
Jørgen Heesche wrote:
> Det er sikkert mount med noexec, der er årsagen.
> Prøv at taste kommandoen mount uden options.
> Et script skal kun indledes med #!/bin/sh, hvis det er skrevet til en
> anden shell end default login-shell (se /etc/passwd).
>
>
[carsten@~]$ mount
/dev/hda1 on / type ext3 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
/sys on /sys type sysfs (rw,noexec,nosuid,nodev)
varrun on /var/run type tmpfs (rw,noexec,nosuid,nodev,mode=0755)
varlock on /var/lock type tmpfs (rw,noexec,nosuid,nodev,mode=1777)
procbususb on /proc/bus/usb type usbfs (rw)
udev on /dev type tmpfs (rw,mode=0755)
devshm on /dev/shm type tmpfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
lrm on /lib/modules/2.6.20-16-generic/volatile type tmpfs (rw)
/carsten
| |
![](/images/tree/0.gif) ![](/images/tree/0.gif) ![](/images/tree/0.gif) ![](/images/tree/0.gif) ![](/images/tree/0.gif) ![](/images/tree/0.gif) Jørgen Heesche (03-01-2008)
![](/App_Themes/Normal/images/Window/Backgrounds/news.gif) | Kommentar Fra : Jørgen Heesche |
Dato : 03-01-08 16:32 |
|
carsten wrote:
> Jørgen Heesche wrote:
>
>> Det er sikkert mount med noexec, der er årsagen.
>> Prøv at taste kommandoen mount uden options.
>> Et script skal kun indledes med #!/bin/sh, hvis det er skrevet til en
>> anden shell end default login-shell (se /etc/passwd).
>>
>>
> [carsten@~]$ mount
> /dev/hda1 on / type ext3 (rw,errors=remount-ro)
> proc on /proc type proc (rw,noexec,nosuid,nodev)
> /sys on /sys type sysfs (rw,noexec,nosuid,nodev)
> varrun on /var/run type tmpfs (rw,noexec,nosuid,nodev,mode=0755)
> varlock on /var/lock type tmpfs (rw,noexec,nosuid,nodev,mode=1777)
> procbususb on /proc/bus/usb type usbfs (rw)
> udev on /dev type tmpfs (rw,mode=0755)
> devshm on /dev/shm type tmpfs (rw)
> devpts on /dev/pts type devpts (rw,gid=5,mode=620)
> lrm on /lib/modules/2.6.20-16-generic/volatile type tmpfs (rw)
>
>
Hvis du har scriptet i /var/run har du problemet.
Hvorfor har du forøvrigt en partition /var/run?. Mappen /var kan da
godt ligge i root.
--
Med venlig hilsen
Jørgen Heesche
mailto:heesche@webspeed.dk
| |
![](/images/tree/0.gif) ![](/images/tree/0.gif) ![](/images/tree/0.gif) ![](/images/tree/0.gif) ![](/images/tree/0.gif) ![](/images/tree/0.gif) ![](/images/tree/0.gif) Kent Friis (03-01-2008)
![](/App_Themes/Normal/images/Window/Backgrounds/news.gif) | Kommentar Fra : Kent Friis |
Dato : 03-01-08 16:58 |
|
Den Thu, 03 Jan 2008 15:32:27 +0000 skrev Jørgen Heesche:
> carsten wrote:
>> Jørgen Heesche wrote:
>>
>>> Det er sikkert mount med noexec, der er årsagen.
>>> Prøv at taste kommandoen mount uden options.
>>> Et script skal kun indledes med #!/bin/sh, hvis det er skrevet til en
>>> anden shell end default login-shell (se /etc/passwd).
>>>
>>>
>> [carsten@~]$ mount
>> /dev/hda1 on / type ext3 (rw,errors=remount-ro)
>> proc on /proc type proc (rw,noexec,nosuid,nodev)
>> /sys on /sys type sysfs (rw,noexec,nosuid,nodev)
>> varrun on /var/run type tmpfs (rw,noexec,nosuid,nodev,mode=0755)
>> varlock on /var/lock type tmpfs (rw,noexec,nosuid,nodev,mode=1777)
>> procbususb on /proc/bus/usb type usbfs (rw)
>> udev on /dev type tmpfs (rw,mode=0755)
>> devshm on /dev/shm type tmpfs (rw)
>> devpts on /dev/pts type devpts (rw,gid=5,mode=620)
>> lrm on /lib/modules/2.6.20-16-generic/volatile type tmpfs (rw)
>>
>>
> Hvis du har scriptet i /var/run har du problemet.
> Hvorfor har du forøvrigt en partition /var/run?. Mappen /var kan da
> godt ligge i root.
type tmpfs er nok årsagen.
Mvh
Kent
--
"So there I was surrounded by all these scary creatures
They were even scarier than what Microsoft call features"
- C64Mafia: Forbidden Forest (Don't Go Walking Slow).
| |
![](/images/tree/0.gif) ![](/images/tree/0.gif) ![](/images/tree/0.gif) ![](/images/tree/0.gif) ![](/images/tree/0.gif) ![](/images/tree/0.gif) ![](/images/tree/0.gif) carsten (03-01-2008)
![](/App_Themes/Normal/images/Window/Backgrounds/news.gif) | Kommentar Fra : carsten |
Dato : 03-01-08 17:05 |
|
Jørgen Heesche wrote:
> Hvis du har scriptet i /var/run har du problemet.
> Hvorfor har du forøvrigt en partition /var/run?. Mappen /var kan da
> godt ligge i root.
>
Det er et godt spørgsmål jeg har bare valgt en default opsætning da jeg
installerede
det er ikke alt i Kubuntu der er lige godt, nu har jeg et lille problem, med
et script, der ikke vil, som det ville i Mandriva
/Carsten
| |
![](/images/tree/0.gif) ![](/images/tree/0.gif) ![](/images/tree/0.gif) ![](/images/tree/0.gif) ![](/images/tree/0.gif) Kent Friis (03-01-2008)
![](/App_Themes/Normal/images/Window/Backgrounds/news.gif) | Kommentar Fra : Kent Friis |
Dato : 03-01-08 16:57 |
|
Den Thu, 03 Jan 2008 15:00:00 +0000 skrev Jørgen Heesche:
>
> Et script skal kun indledes med #!/bin/sh, hvis det er skrevet til en
> anden shell end default login-shell (se /etc/passwd).
Det er ikke korrekt. Et script skal indledes med #!/bin/sh for at
kunne startes med exec(2) systemkaldet. Ellers kan det kun startes
fra programmer der bruger system(3) (der kalder "sh -c") eller på
anden vis bruger shell'en til at starte scriptet. At bruge shell'en
til at starte programmer med er overflødigt og unødigt performance-
reducerende for alt andet end netop shell-scripts skrevet til den
shell (fx hjælper det jo ikke noget at programmet bruger sh hvis
scriptet er skrevet til csh, det medfører bare at sh skal til at
starte csh).
Med #!/bin/sh sørger kernen ved exec(2) selv for at starte shell'en
hvis det er nødvendigt (og kun hvis det er nødvendigt).
Mvh
Kent
--
"So there I was surrounded by all these scary creatures
They were even scarier than what Microsoft call features"
- C64Mafia: Forbidden Forest (Don't Go Walking Slow).
| |
![](/images/tree/0.gif) ![](/images/tree/0.gif) ![](/images/tree/0.gif) ![](/images/tree/0.gif) ![](/images/tree/0.gif) ![](/images/tree/0.gif) Jørgen Heesche (03-01-2008)
![](/App_Themes/Normal/images/Window/Backgrounds/news.gif) | Kommentar Fra : Jørgen Heesche |
Dato : 03-01-08 22:01 |
|
Kent Friis wrote:
> Den Thu, 03 Jan 2008 15:00:00 +0000 skrev Jørgen Heesche:
>> Et script skal kun indledes med #!/bin/sh, hvis det er skrevet til en
>> anden shell end default login-shell (se /etc/passwd).
>
> Det er ikke korrekt. Et script skal indledes med #!/bin/sh for at
> kunne startes med exec(2) systemkaldet. Ellers kan det kun startes
> fra programmer der bruger system(3) (der kalder "sh -c") eller på
> anden vis bruger shell'en til at starte scriptet. At bruge shell'en
> til at starte programmer med er overflødigt og unødigt performance-
> reducerende for alt andet end netop shell-scripts skrevet til den
> shell (fx hjælper det jo ikke noget at programmet bruger sh hvis
> scriptet er skrevet til csh, det medfører bare at sh skal til at
> starte csh).
>
> Med #!/bin/sh sørger kernen ved exec(2) selv for at starte shell'en
> hvis det er nødvendigt (og kun hvis det er nødvendigt).
>
> Mvh
> Kent
Det er min erfaring at et shell-script skal indledes med
#!/bin/sh hvis det bruger sh-syntax
#!/bin/csh hvis det bruger csh-syntax
#!/bin/ksh hvis det bruger ksh-syntax
#!/bin/tcsh hvis det bruger tcsh-syntax
#!/bin/bash hvis det bruger bash-syntax
osv., osv.
I linux er login-shellen normalt bash. Det er derfor ikke nødvendigt
at indlede med #!/bin/bash, fordi et script således normalt være
skrevet til bash.
I Mandriva er /bin/sh forøvrigt lig med /bin/bash pga. linket
lrwxrwxrwx 1 root root 4 Jun 23 2007 /bin/sh -> bash
--
Med venlig hilsen
Jørgen Heesche
mailto:heesche@webspeed.dk
| |
![](/images/tree/0.gif) ![](/images/tree/0.gif) ![](/images/tree/0.gif) ![](/images/tree/0.gif) ![](/images/tree/0.gif) ![](/images/tree/0.gif) ![](/images/tree/0.gif) Kent Friis (03-01-2008)
![](/App_Themes/Normal/images/Window/Backgrounds/news.gif) | Kommentar Fra : Kent Friis |
Dato : 03-01-08 22:09 |
|
Den Thu, 03 Jan 2008 21:01:14 +0000 skrev Jørgen Heesche:
> Kent Friis wrote:
>> Den Thu, 03 Jan 2008 15:00:00 +0000 skrev Jørgen Heesche:
>>> Et script skal kun indledes med #!/bin/sh, hvis det er skrevet til en
>>> anden shell end default login-shell (se /etc/passwd).
>>
>> Det er ikke korrekt. Et script skal indledes med #!/bin/sh for at
>> kunne startes med exec(2) systemkaldet. Ellers kan det kun startes
>> fra programmer der bruger system(3) (der kalder "sh -c") eller på
>> anden vis bruger shell'en til at starte scriptet. At bruge shell'en
>> til at starte programmer med er overflødigt og unødigt performance-
>> reducerende for alt andet end netop shell-scripts skrevet til den
>> shell (fx hjælper det jo ikke noget at programmet bruger sh hvis
>> scriptet er skrevet til csh, det medfører bare at sh skal til at
>> starte csh).
>>
>> Med #!/bin/sh sørger kernen ved exec(2) selv for at starte shell'en
>> hvis det er nødvendigt (og kun hvis det er nødvendigt).
>
> Det er min erfaring at et shell-script skal indledes med
> #!/bin/sh hvis det bruger sh-syntax
> #!/bin/csh hvis det bruger csh-syntax
> #!/bin/ksh hvis det bruger ksh-syntax
> #!/bin/tcsh hvis det bruger tcsh-syntax
> #!/bin/bash hvis det bruger bash-syntax
> osv., osv.
> I linux er login-shellen normalt bash. Det er derfor ikke nødvendigt
> at indlede med #!/bin/bash, fordi et script således normalt være
> skrevet til bash.
Det gælder stadig kun sålænge scriptet bliver startet fra login-
shell'en. Bliver det startet fra et vilkårligt C-program, skal
det stadig indledes med #!/bin/sh eller #!/bin/sh.
Mvh
Kent
--
"So there I was surrounded by all these scary creatures
They were even scarier than what Microsoft call features"
- C64Mafia: Forbidden Forest (Don't Go Walking Slow).
| |
![](/images/tree/0.gif) ![](/images/tree/0.gif) ![](/images/tree/0.gif) ![](/images/tree/0.gif) ![](/images/tree/0.gif) ![](/images/tree/0.gif) ![](/images/tree/0.gif) Jørgen Heesche (03-01-2008)
![](/App_Themes/Normal/images/Window/Backgrounds/news.gif) | Kommentar Fra : Jørgen Heesche |
Dato : 03-01-08 22:15 |
|
Jørgen Heesche wrote:
.... SKIP ...
>
> Det er min erfaring at et shell-script skal indledes med
> #!/bin/sh hvis det bruger sh-syntax
> #!/bin/csh hvis det bruger csh-syntax
> #!/bin/ksh hvis det bruger ksh-syntax
> #!/bin/tcsh hvis det bruger tcsh-syntax
> #!/bin/bash hvis det bruger bash-syntax
> osv., osv.
> I linux er login-shellen normalt bash. Det er derfor ikke nødvendigt at
> indlede med #!/bin/bash, fordi et script således normalt være skrevet
> til bash.
> I Mandriva er /bin/sh forøvrigt lig med /bin/bash pga. linket
> lrwxrwxrwx 1 root root 4 Jun 23 2007 /bin/sh -> bash
>
>
Jeg bør selvfølgelig tilføje, at er en god skik altid at indlede med
#!/bin/bash (eller /bin/sh) selvom bash er default, især hvis scriptet
ikke startes direkte fra kommandolinien,
--
Med venlig hilsen
Jørgen Heesche
mailto:heesche@webspeed.dk
| |
![](/images/tree/0.gif) ![](/images/tree/0.gif) ![](/images/tree/0.gif) ![](/images/tree/0.gif) ![](/images/tree/0.gif) ![](/images/tree/0.gif) ![](/images/tree/0.gif) Klaus Ellegaard (03-01-2008)
![](/App_Themes/Normal/images/Window/Backgrounds/news.gif) | Kommentar Fra : Klaus Ellegaard |
Dato : 03-01-08 22:20 |
|
=?ISO-8859-1?Q?J=F8rgen_Heesche?= <heesche@webspeed.dk> writes:
>I Mandriva er /bin/sh forøvrigt lig med /bin/bash pga. linket
>lrwxrwxrwx 1 root root 4 Jun 23 2007 /bin/sh -> bash
Det er ikke helt så simpelt igen. Når bash startes som sh, går
den i POSIX-mode. Den er altså "inkompatibel med sig selv" i
den situation.
Mvh.
Klaus.
| |
Thorbjørn Ravn Ander~ (03-01-2008)
![](/App_Themes/Normal/images/Window/Backgrounds/news.gif) | Kommentar Fra : Thorbjørn Ravn Ander~ |
Dato : 03-01-08 18:50 |
|
Kent Friis <nospam@nospam.invalid> writes:
> Så må det være "#!/bin/sh" der mangler.
Det skulle ikke være tilstrækkeligt. Tekstfiler startes med /bin/sh
hvis der ikke er angivet andet.
Jeg ville undersøge den der noexec på filsystemet.
--
Thorbjørn Ravn Andersen
| |
Kent Friis (03-01-2008)
![](/App_Themes/Normal/images/Window/Backgrounds/news.gif) | Kommentar Fra : Kent Friis |
Dato : 03-01-08 18:55 |
|
Den Thu, 03 Jan 2008 18:50:06 +0100 skrev Thorbjørn Ravn Andersen:
> Kent Friis <nospam@nospam.invalid> writes:
>
>> Så må det være "#!/bin/sh" der mangler.
>
> Det skulle ikke være tilstrækkeligt. Tekstfiler startes med /bin/sh
> hvis der ikke er angivet andet.
Nej, shell'en starter dem med /bin/sh hvis der ikke er angivet andet.
Andre programmer bruger exec(2), som ikke automatisk starter en
shell hvis ikke det er angivet.
Mvh
Kent
--
"So there I was surrounded by all these scary creatures
They were even scarier than what Microsoft call features"
- C64Mafia: Forbidden Forest (Don't Go Walking Slow).
| |
Thorbjørn Ravn Ander~ (03-01-2008)
![](/App_Themes/Normal/images/Window/Backgrounds/news.gif) | Kommentar Fra : Thorbjørn Ravn Ander~ |
Dato : 03-01-08 19:12 |
|
Kent Friis <nospam@nospam.invalid> writes:
> Nej, shell'en starter dem med /bin/sh hvis der ikke er angivet andet.
Hvilket iøvrigt må være tilfældet i det aktuelle tilfælde da && så vidt
jeg ved kræver en shell.
> Andre programmer bruger exec(2), som ikke automatisk starter en
> shell hvis ikke det er angivet.
Jeg undersøgte sagen engang for længe siden men kan ikke huske alle
kilderne til det refererede resultat.
Jeg faldt dog over den her som jeg defintivt husker at have læst:
http://www.faqs.org/faqs/unix-faq/faq/part3/section-16.html
--
Thorbjørn Ravn Andersen
| |
Kent Friis (03-01-2008)
![](/App_Themes/Normal/images/Window/Backgrounds/news.gif) | Kommentar Fra : Kent Friis |
Dato : 03-01-08 19:41 |
|
Den Thu, 03 Jan 2008 19:11:48 +0100 skrev Thorbjørn Ravn Andersen:
> Kent Friis <nospam@nospam.invalid> writes:
>
>> Nej, shell'en starter dem med /bin/sh hvis der ikke er angivet andet.
>
> Hvilket iøvrigt må være tilfældet i det aktuelle tilfælde da && så vidt
> jeg ved kræver en shell.
Det har du jo så ret i.
>> Andre programmer bruger exec(2), som ikke automatisk starter en
>> shell hvis ikke det er angivet.
>
> Jeg undersøgte sagen engang for længe siden men kan ikke huske alle
> kilderne til det refererede resultat.
>
> Jeg faldt dog over den her som jeg defintivt husker at have læst:
>
> http://www.faqs.org/faqs/unix-faq/faq/part3/section-16.html
"If the kernel does not recognize the magic number then it
complains with an ENOEXEC error. It will execute the program only
if the magic number is recognizable."
Altså, kernen kalder IKKE /bin/sh, den returnerer en fejl.
Mvh
Kent
--
"So there I was surrounded by all these scary creatures
They were even scarier than what Microsoft call features"
- C64Mafia: Forbidden Forest (Don't Go Walking Slow).
| |
Thorbjørn Ravn Ander~ (03-01-2008)
![](/App_Themes/Normal/images/Window/Backgrounds/news.gif) | Kommentar Fra : Thorbjørn Ravn Ander~ |
Dato : 03-01-08 20:18 |
|
Kent Friis <nospam@nospam.invalid> writes:
> "If the kernel does not recognize the magic number then it
> complains with an ENOEXEC error. It will execute the program only
> if the magic number is recognizable."
>
> Altså, kernen kalder IKKE /bin/sh, den returnerer en fejl.
N var dokumenet fra 92, men det er sikkert ganske rigtigt. Jeg starter
altid mine scripts med #! - så er der styr på sagerne og det virker
bare.
Stod lige på hovedet i nogen gamle scripts til AIX i dag - det er ganske
interessant at se HVOR forskelligt programmører tænker.
--
Thorbjørn Ravn Andersen
| |
Kent Friis (03-01-2008)
![](/App_Themes/Normal/images/Window/Backgrounds/news.gif) | Kommentar Fra : Kent Friis |
Dato : 03-01-08 20:37 |
|
Den Thu, 03 Jan 2008 20:17:56 +0100 skrev Thorbjørn Ravn Andersen:
> Kent Friis <nospam@nospam.invalid> writes:
>
>> "If the kernel does not recognize the magic number then it
>> complains with an ENOEXEC error. It will execute the program only
>> if the magic number is recognizable."
>>
>> Altså, kernen kalder IKKE /bin/sh, den returnerer en fejl.
>
> N var dokumenet fra 92, men det er sikkert ganske rigtigt. Jeg starter
> altid mine scripts med #! - så er der styr på sagerne og det virker
> bare.
Jeg løb ind i problemet for nogle år siden under Linux, da jeg
havde lavet et C-program der netop brugte exec() og ikke system(),
og det ikke kunne starte shell-scripts. Det forekommer mig jeg nåede
helt ned i kernel sourcen før jeg fandt ud af hvordan det hang sammen.
Mvh
Kent
--
"So there I was surrounded by all these scary creatures
They were even scarier than what Microsoft call features"
- C64Mafia: Forbidden Forest (Don't Go Walking Slow).
| |
|
|