The UNIX and Linux Forums  

Go Back   UNIX og Linux Forums > Top Forums > Shell programmering og Skripting
.
google unix.com



Shell programmering og Skripting Post spørsmål om ksh, csh, SH, Bash, Perl, PHP, SED, awk og ANDRE shell scripts og Shell skriptespråk her.

Mer UNIX og Linux Forum Emner Du kan finne nyttig
Tråd Tråd startet Forum Svar Siste innlegg
Bad magiske tallet på / dev/md0 ravinandan UNIX for Advanced & ekspertbrukere 0 08-17-2007 08:56
LVM magiske tallet 0x4D48 ghimanshu Filsystemer, disker og Minne 2 07-18-2007 09:27
Bad Magic Number wesweshahaha Filsystemer, disker og Minne 0 05-18-2006 02:28
Bad magisk tall batosai Sun Solaris 1 04-22-2006 12:29
dårlig magisk tall Rein UNIX for Advanced & ekspertbrukere 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 Søk i denne tråden Vurdering: Thread Rating: 1 votes, 5.00 average. Visningsmoduser
  #1 (permalink)  
Old 07-08-2005
vino's Avatar
Vino vino is offline Forum Staff  
Tilhenger (i Vino Veritas)
  
 

Bli Date: Feb 2005
Beliggenhet: Bangalore, India
Innlegg: 2798
shell magisk tall med en --

I en av våre interne prosedyrer (unix.run), har jeg lagt merke til at følgende shebang.


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

Noen ide hva -- i det magiske tallet står for?

Og hvilken innvirkning har det på skriften?


Fortsetter på samme skriptet, har jeg følgende for unix.run


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

Hvis jeg gjør en


Code:
./unix.run

det står 'Permission Denied'

Men hvis jeg kjører det som,


Code:
sh unix.run

det fungerer godt.

Hvorfor forskjellen i atferd mellom . / unix.run og sh unix.run?

Burde det ikke alltid si Permision denied "i begge tilfellene?

Eventuelle innspill / tips om disse to punktene, høyt verdsatt.

Takk,
Vino
  #2 (permalink)  
Old 07-08-2005
blowtorch's Avatar
blowtorch blowtorch is offline Forum Advisor  
Støttespiller
  
 

Bli Dato: desember 2004
Sted: Singapore
Innlegg: 2350
For å besvare det første spørsmålet, er dette å deaktivere alternativet behandling av sh. Dette betyr at hvis du passerer noen argumenter til skriptet, vil sh ikke prøve å tolke dem selv, men vil behandle dem som argumenter.

For å sitere BSD SH manuelle,
Sitat:
Originally Posted by BSD sh manuell
En ``--'' eller ren ``-'' vil stoppe alternativ behandling og vil
styrke de gjenværende ord på kommandolinjen til å bli behandlet som argumenter.
Når det gjelder det andre spørsmålet, ikke skriptet kjøres som ". / Unix.run" fordi du prøver å "kjøre" en fil som ikke er kjørbare (NO x-bit er angitt). Med 'sh. / Unix.run "den binære' / usr / bin / sh 'er utført og unix.run manuset sendes til den som argumenter.

Skål!

PS BTW, det magiske tallet bare omfatter de første 2 eller 3 (begge er lovlige) bytes i filen. Resten av linjen forteller kjernen hva skal brukes til å tolke resten av filen.

Sist endret av blowtorch; 07-08-2005 på 11:47.. Grunn: en side om det magiske tallet
  #3 (permalink)  
Old 07-08-2005
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix Daemon
  
 

Bli Dato: Aug 2001
Beliggenhet: Ashburn, Virginia
Innlegg: 9131
Sitat:
Originally Posted by blowtorch
PS BTW, det magiske tallet bare omfatter de første 2 eller 3 (begge er lovlige) bytes i filen. Resten av linjen forteller kjernen hva skal brukes til å tolke resten av filen.
Hva med oss? HP-UX magic man-siden sier:
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
blowtorch blowtorch is offline Forum Advisor  
Støttespiller
  
 

Bli Dato: desember 2004
Sted: Singapore
Innlegg: 2350
Sitat:
Originally Posted by blowtorch
PS BTW, det magiske tallet bare omfatter de første 2 eller 3 (begge er lovlige) bytes i filen. Resten av linjen forteller kjernen hva skal brukes til å tolke resten av filen.
Oops! Thats 3 eller 4! Den finnes i svaret ved Perderabo i OSS.

Takk for å peke ut det Perderabo.
Closed Thread

Hugseliste

Thread Tools Søk i denne tråden
Søk i denne tråden:

Avansert søk
Visningsmoduser Ranger denne tråden
Ranger denne tråden:

Innleggsaktivitet Regler
Du kanskje ikke poste nye tråder
Du kanskje ikke poste svar
Du kanskje ikke post vedlegg
Du kanskje ikke redigere innleggene dine

BB-kode er
Smilefjes er
[IMG] koden
HTML-koden Av
Pingbacks er
Refbacks er




Alle klokkeslett er GMT -4. Nå er klokken 06:17.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Language Translations Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant nettadresser av vBSEO 3.2.0