The UNIX and Linux Forums  


Go Back   De Unix-en Linux Forum > Top Forums > Programmeren en Shell Scripting
.
google unix.com



Programmeren en Shell Scripting Post vragen over KSH, CSH, SH, Bash, Perl, PHP, sed, awk en andere shell scripts en shell scripting talen hier.

Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
Draad Thread Starter Forum Antwoorden Last Post
Bad magische getal op / dev/md0 ravinandan UNIX for Advanced & Expert Gebruikers 0 08-17-2007 08:56
LVM magische aantal 0x4D48 ghimanshu Bestandssystemen, schijven en geheugen 2 07-18-2007 09:27
Bad Magic Number wesweshahaha Bestandssystemen, schijven en geheugen 0 05-18-2006 02:28 PM
Bad magische aantal batosai SUN Solaris 1 04-22-2006 12:29
slechte magie aantal teugel UNIX for Advanced & Expert Gebruikers 5 01-05-2005 11:27

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Zoeken in deze Thread Waardering: Thread Rating: 1 votes, 5.00 average. Display Modes
  #1 (permalink)  
Old 07-08-2005
vino's Avatar
vino vino is offline Forum Staff  
Supporter (in vino veritas)
  
 

Join Date: Feb 2005
Locatie: Bangalore, India
Berichten: 2.798
shell magische nummer met een --

In een van onze interne scripts (unix.run), heb ik gemerkt dat de volgende hut.


Code:
#!/bin/sh -
for i in test1 test2 test3 ; do
.
.
.

Enig idee wat de -- in het magische getal voor staat?

En welke gevolgen heeft het voor het script?


Voortbordurend op het hetzelfde script heb ik het volgende voor unix.run


Code:
ls -l unix.run
-rw-------    1 XXXXXX g900          187 Jul  8 04:29 unix.run

Als ik een


Code:
./unix.run

het zegt 'Permission denied'

Maar als ik start het programma als,


Code:
sh unix.run

het werkt goed.

Waarom het verschil in gedrag tussen . / unix.run en sh unix.run?

Mocht het niet altijd zeggen 'goedkeuringen denied' in beide gevallen?

Alle ingangen / aanwijzingen op deze twee punten, zeer gewaardeerd.

Bedankt,
Vino
  #2 (permalink)  
Old 07-08-2005
blowtorch's Avatar
steekvlam blowtorch is offline Forum Advisor  
Supporter
  
 

Join Date: december 2004
Locatie: Singapore
Berichten: 2350
Als antwoord op de eerste vraag, dit is om de optie uit te schakelen door verwerking sh. Dit betekent dat als je geen argumenten geven aan het script, zal sh niet proberen om deze zelf te interpreteren, maar zal ze behandelen als argumenten.

Ik citeer de BSD sh handleiding,
Citaat:
Oorspronkelijk geplaatst door BSD sh handleiding
Een ``--'' of gewoon ``-'' stopt optie verwerking en zal
werking op de resterende woorden op de opdrachtregel te worden behandeld als argumenten.
In het geval van uw tweede vraag betreft, heeft het script niet uitgevoerd als '. / Unix.run', omdat je probeert te 'execute' een bestand dat niet uitvoerbaar is (geen x-bits zijn ingesteld). Met 'sh. / Unix.run' de binaire '/ usr / bin / sh' wordt uitgevoerd en de unix.run script wordt doorgegeven aan als argumenten.

Sante!

PS BTW, het magische getal alleen bestaat uit de eerste 2 of 3 (beide rechts) bytes in het bestand. De rest van de lijn vertelt de kernel wat moet worden gebruikt om de rest van het bestand te interpreteren.

Laatst gewijzigd door steekvlam; op 07.08.2005 11:47.. Reden: een terzijde over het magische getal
  #3 (permalink)  
Old 07-08-2005
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix Daemon
  
 

Join Date: Aug 2001
Locatie: Ashburn, Virginia
Berichten: 9.131
Citaat:
Oorspronkelijk geplaatst door steekvlam
PS BTW, het magische getal alleen bestaat uit de eerste 2 of 3 (beide rechts) bytes in het bestand. De rest van de lijn vertelt de kernel wat moet worden gebruikt om de rest van het bestand te interpreteren.
Welke OS? HP-UX magic man pagina zegt:
Code:
struct magic_number { 
    unsigned short    system_id; 
    unsigned short    file_type; 
}; 
typedef      struct    magic_number MAGIC;

  #4 (permalink)  
Old 07-09-2005
blowtorch's Avatar
steekvlam blowtorch is offline Forum Advisor  
Supporter
  
 

Join Date: december 2004
Locatie: Singapore
Berichten: 2350
Citaat:
Oorspronkelijk geplaatst door steekvlam
PS BTW, het magische getal alleen bestaat uit de eerste 2 of 3 (beide rechts) bytes in het bestand. De rest van de lijn vertelt de kernel wat moet worden gebruikt om de rest van het bestand te interpreteren.
Oeps! Dat is 3 of 4! Zijn er in het antwoord van Perderabo in de FAQ's.

Bedankt voor deze opmerking Perderabo.
Closed Thread

Bladwijzers

Thread Tools Zoeken in deze Thread
Zoeken in deze Thread:

Uitgebreid zoeken
Display Modes Beoordeel deze draad
Beoordeel deze draad:

Posting Regels
Jij mag niet Post Nieuwe threads
Jij mag niet na antwoorden
Jij mag niet post attachments
Jij mag niet bewerk uw berichten

BB code is Aan
Smilies zijn Aan
[IMG] code Aan
HTML-code is Uit
Trackbacks zijn Aan
Pingbacks zijn Aan
Refbacks zijn Aan




Alle tijden zijn GMT -4. Het is nu 01:55 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Vertalingen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
De Unix-en Linux Forums Copyright © 1993-2009. Alle rechten Reserved.Ad Beheer door RedTyger

Content Relevante URL's door vBSEO 3.2.0