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
bash g. sh msb65 Shell programmering og Skripting 10 09-18-2008 03:25
bash og ksh: variable tapt i loop i bash? estienne Shell programmering og Skripting 2 08-25-2008 03:09
bestått variabel fra bash til perl fra bash script arsidh Shell programmering og Skripting 10 06-04-2008 01:25
Hvorfor genererer "aske og bash" annen utgang for samme bash script? s. Murat Shell programmering og Skripting 0 05-26-2008 08:19
Bash under AIX 5.3 taupin AIX 4 03-21-2008 06:03

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 Rate Thread Visningsmoduser
  #1 (permalink)  
Old 10-12-2008
mindOnMy $ mindOnMy$ is offline
Registrert bruker
  
 

Bli Dato: Oct 2008
Innlegg: 2
Question Hva gjør dette gjør i bash: $ (pid: -)

Som jeg forstår det, betyr dette
hvis pid er
a) unset eller
b) settes til null
deretter erstatter med verdien på høyre side av minustegnet - som er null

Dette forvirrer meg fordi
a) Jeg trodde at hvis en variabel ikke er satt til noe den automatisk null. Hvis ikke så hva er en uinnvidde variabel satt til?
b) dersom variabelen allerede er satt til null, så hvorfor erstatte den med en annen null?

Jeg ser dette på linje 74 i fila / lib / lsb / init-funksjoner (Jeg bruker Hardy Heron ubuntu)
Her er et utdrag fra fil:

Code:
if [ -z "${pidfile:-}" ]; then 
    pidfile=/var/run/${1##*/}.pid 
fi

  #2 (permalink)  
Old 10-12-2008
Jim McNamara jim mcnamara is offline Forum Staff  
...@...
  
 

Bli Date: Feb 2004
Beliggenhet: NM
Innlegg: 5794
Koden er at hvis pid variabelen unset det blir null (eller null-lengde).
unset og null er ulike. null betyr at variabelen eksisterer i hukommelsen, og er "", unset betyr bash aldri hørt om det før.

I koding whenver du opprette en ny variabel som du vil sette det til en kjent tilstand. C angir du en streng å være null-lengde, et heltall til null. Dette er den samme ideen.
  #3 (permalink)  
Old 10-12-2008
otheus's Avatar
otheus otheus is offline Forum Staff  
Moderator ala Mode
  
 

Bli Date: Feb 2007
Beliggenhet: Innsbruck, Østerrike
Innlegg: 1889
Tildelt, null og null-lengde er forskjellige, men skallet utvider dem på samme måte. Så egentlig er det ingen grunn til koden som er. Det kunne bare være:

Code:
if [ -z "$pidfile" ] ;then 
  # blah blah
fi

Det er faktisk en enklere måte.

Code:
pidfile=${pidfile:-/var/run/${1##*/}.pid}

  #4 (permalink)  
Old 10-13-2008
mindOnMy $ mindOnMy$ is offline
Registrert bruker
  
 

Bli Dato: Oct 2008
Innlegg: 2
Ahh, ser jeg. nå er det all fornuftig. thnx!
Closed Thread

Hugseliste

Tags
variable utvidelse programmering bash

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:46.


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