The UNIX and Linux Forums  

Go Back   UNIX og Linux Forums > Top Forums > Shell Programmering og Scripting
.
google unix.com



Shell Programmering og Scripting Post spørgsmål om ksh, CSH, SH, Bash, Perl, PHP, SED, AWK og ANDRE shell scripts og Shell scriptsprog her.

Mere UNIX og Linux Forum Emner du måske kan finde Helpful
Tråd Thread Starter Forum Svar Last Post
Bad magiske antal på / dev/md0 ravinandan UNIX for Advanced & Ekspertsøgning Brugere 0 08-17-2007 08:56 AM
LVM magiske antal 0x4D48 ghimanshu Filsystemer, disketter og Hukommelse 2 07-18-2007 09:27 AM
Bad Magic Number wesweshahaha Filsystemer, disketter og Hukommelse 0 05-18-2006 02:28 PM
Bad magiske antal batosai Sun Solaris 1 04-22-2006 12:29 PM
dårlige magiske antal tøjler UNIX for Advanced & Ekspertsøgning Brugere 5 01-05-2005 11:27 AM

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øg denne tråd Karakter: 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
Beliggenhed: Bangalore, Indien
Indlæg: 2.798
shell magiske tal med et --

I en af vores interne scripts (unix.run), har jeg bemærket, at følgende molevitten.


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

Nogen idé om, hvad de -- i det magiske tal står for?

Og hvilken betydning har det på skrift?


Fortsætter på samme manuskript, jeg har følgende til unix.run


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

Hvis jeg gør en


Code:
./unix.run

den siger 'Permission denied "

Men hvis jeg køre det som,


Code:
sh unix.run

det fungerer godt.

Hvorfor forskellen i adfærd mellem . / unix.run og sh unix.run?

Bør det ikke altid sige 'Permision denied' i begge tilfælde?

Ethvert input / fingerpeg om disse to punkter, som værdsættes højt.

Tak,
Vino
  #2 (permalink)  
Old 07-08-2005
blowtorch's Avatar
blæselampe blowtorch is offline Forum Advisor  
Supporter
  
 

Join Date: Dec 2004
Location: Singapore
Posts: 2.350
At besvare det første spørgsmål, det er at deaktivere muligheden for behandling af sh. Det betyder, at hvis du sender nogen argumenter til scriptet, vil sh ikke forsøge at fortolke dem selv, men vil behandle dem som argumenter.

For at citere BSD sh manual,
Citat:
Oprindeligt Indsendt af BSD sh manual
En ``--'' eller almindelig ``-'' vil stoppe mulighed forarbejdning og vil
kraft til de resterende ord på kommandolinjen skal behandles som argumenter.
I tilfælde af dit andet spørgsmål, scriptet ikke køre som '. / Unix.run' fordi du forsøger at 'execute' en fil, der ikke er eksekverbare (ingen x bits er sat). Med 'sh. / Unix.run' den binære '/ usr / bin / sh "er udført, og unix.run script er gået til det som argumenter.

Skål!

PS BTW, det magiske tal omfatter kun de første 2 eller 3 (begge er lovlige) bytes i filen. Resten af den linje fortæller kernen, hvad der skal bruges til at fortolke resten af filen.

Sidst redigeret af blæselampe; 07-08-2005 på 11:47 AM.. Årsag: en sidebemærkning om det magiske tal
  #3 (permalink)  
Old 07-08-2005
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix Daemon
  
 

Join Date: Aug 2001
Beliggenhed: Ashburn, Virginia
Indlæg: 9.131
Citat:
Oprindeligt Indsendt af blæselampe
PS BTW, det magiske tal omfatter kun de første 2 eller 3 (begge er lovlige) bytes i filen. Resten af den linje fortæller kernen, hvad der skal bruges til at fortolke resten af filen.
Hvad OS? HP-UX magi man-sider siger:
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
blæselampe blowtorch is offline Forum Advisor  
Supporter
  
 

Join Date: Dec 2004
Location: Singapore
Posts: 2.350
Citat:
Oprindeligt Indsendt af blæselampe
PS BTW, det magiske tal omfatter kun de første 2 eller 3 (begge er lovlige) bytes i filen. Resten af den linje fortæller kernen, hvad der skal bruges til at fortolke resten af filen.
Hovsa! Thats 3 eller 4! Dens der i svaret fra Perderabo i FAQ.

Tak gjorde opmærksom på Perderabo.
Closed Thread

Bogmærker

Thread Tools Søg denne tråd
Søg denne tråd:

Avanceret søgning
Display Modes Bedøm denne tråd
Bedøm denne tråd:

Udstationering Regler
Du kan ikke post nye tråde
Du kan ikke post svar
Du kan ikke post vedhæftede filer
Du kan ikke redigere dine indlæg

BB-kode er
Smilies er
[IMG] koden er
HTML-koden er Slukket
Trackbacks er
Pingbacks er
Refbacks er




Alle tidspunkter er GMT -4. Den tid er nu 09:05 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Oversættelser Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. Alle rettigheder Reserved.Ad Management ved RedTyger

Content Relevant webadresser ved vBSEO 3.2.0