The UNIX and Linux Forums  
Hej og Velkommen fra USA til UNIX og Linux Forums! Tak for dit besøg og deltager i vores globale samfund.

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
bash vs sh msb65 Shell Programmering og Scripting 10 09-18-2008 02:25 PM
bash og ksh: variable tabt i loop i bash? estienne Shell Programmering og Scripting 2 08-25-2008 02:09 PM
passerer variable fra bash til perl fra bash script arsidh Shell Programmering og Scripting 10 06-04-2008 12:25 PM
Hvorfor generere "aske og bash" forskellige output for samme bash script? s. murat Shell Programmering og Scripting 0 05-26-2008 07:19 AM
Bash under AIX 5.3 taupin AIX 4 03-21-2008 06:03 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 Rate Thread Display Modes
  #1 (permalink)  
Old 10-12-2008
mindOnMy $ mindOnMy$ is offline
Registreret Bruger
  
 

Join Date: oktober 2008
Stillinger: 2
Question Hvad betyder dette gøre i bash: $ (pid: -)

Som jeg forstår det, betyder det
hvis PID er
a) nulstille, eller
b) indstillet til null
derefter erstatte med værdien på højre side af minustegn - som er null

Dette forvirrer mig, fordi
a) Jeg tænkte, at hvis en variabel ikke er sat til noget, er det automatisk null. Hvis ikke så, hvad der er en uindviede variabel sat til?
b) Hvis variablen er allerede sat til nul, så hvorfor erstatte det med en anden null?

Jeg ser det på linje 74 i filen / lib / LSB / init-funktioner (Jeg bruger hårdføre Heron ubuntu)
Her er et uddrag af denne 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  
...@...
  
 

Join Date: Feb 2004
Beliggenhed: NM
Indlæg: 5.748
Koden er at sikre, at hvis pid variabel nulstille det bliver nul (eller nul-længde).
nulstille og null er forskellige. null betyder, at variable findes i hukommelsen, og er "", nulstille betyder bash aldrig hørt om det før.

I kodning, whenver du opretter en ny variabel, du vil indstille det til en kendt tilstand. I C du angive en streng, der skal være nul-længde, et heltal til nul. Det er den samme idé.
  #3 (permalink)  
Old 10-12-2008
otheus's Avatar
otheus otheus is offline Forum Staff  
Redaktør ala Mode
  
 

Join Date: Feb 2007
Sted: Innsbruck, Østrig
Posts: 1.886
Indrømmet, nul og nul-længde er forskellige, men tanken udvider dem på samme måde. Så egentlig er der ingen grund til den kode, som den er. Det kan simpelthen være:
Code:
if [ -z "$pidfile" ] ;then 
  # blah blah
fi
Der er faktisk en enklere måde.
Code:
pidfile=${pidfile:-/var/run/${1##*/}.pid}
  #4 (permalink)  
Old 10-13-2008
mindOnMy $ mindOnMy$ is offline
Registreret Bruger
  
 

Join Date: oktober 2008
Stillinger: 2
ahh, jeg ser. nu det hele giver mening. thnx!
Closed Thread

Bogmærker

Tags
variable ekspansion programmering bash

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 01:27 AM.


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