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
Script for å oppdatere verdier for parameterne gmahesh2k UNIX for Dummies Spørsmål og svar 1 07-14-2008 10:53
Posisjonsdata parametere shalu @ IBM UNIX for Dummies Spørsmål og svar 2 11-22-2007 07:58
Posisjonsdata Parameters ericelysia UNIX for Dummies Spørsmål og svar 15 10-23-2005 04:11
Posisjonsdata Parameters google Shell programmering og Skripting 2 09-26-2003 02:51

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 07-16-2008
nmk nmk is offline
Registrert bruker
  
 

Bli Dato: juli 2008
Innlegg: 2
Tilbakestille posisjonsdata parametere verdier

Hei,

Kan noen gi Unix-kommandoen for å restarte den posisjonelle parametrene?

Se nedenfor eksempel der jeg har til å passere 2 parametre til Shell1.sh.

Trinn 1). ./Shell1.sh 2 3
vellykket utført, så jeg henrettet (neste steg bare) samme shell script igjen, denne gangen ingen parametere bestått.

Trinn 2). ./Shell1.sh
Dette er også vellykket gjennomført, fordi det regnet (tidligere verdier) 2 og 3 som posisjonelle parameterne som jeg ikke hadde reseted dem.

Takk på forhånd.
  #2 (permalink)  
Old 07-16-2008
zaxxon's Avatar
zaxxon zaxxon is offline Forum Staff  
Moderator
  
 

Bli Dato: Sep 2007
Sted: Tyskland
Innlegg: 2285
Jeg forstår ikke. Hvordan vet manuskriptet av den tidligere parametrene? Eksport dere dem eller skrive dem til fil?
  #3 (permalink)  
Old 07-16-2008
nmk nmk is offline
Registrert bruker
  
 

Bli Dato: juli 2008
Innlegg: 2
Hei zaxxon,

Hvordan vet manuskriptet av den tidligere parametrene?
Som jeg vet om vi en gang tilordne verdier til posisjonelle parametere som vil bli forbli like før vi overføre them.the samme skjedde i mitt tilfelle også.

Eksport dere dem eller skrive dem til fil?
Jeg er ikke eksportere eller ikke skriver inn en fil.

Jeg er ny på Unix og shell scripting, korrigere meg hvis jeg er galt korrekt meg ovenfor.

Nedenfor er innholdet i Shell1.sh:
if [$ #! \u003d 2]

echo "Ingen parametre gikk ikke lik 2"
ellers
echo $ 1
echo $ 2
echo "Completed"
fi


Nedenfor er flyten av henrettelsen og deres utgang:

. ./Shell1.sh 2 3
2
3
Fullført
. ./Shell1.sh
2
3
Fullført


Den andre gangen jeg trenger å få output som "Ingen parametre gikk ikke lik 2", men det var ikke happened.This er grunnen til at jeg trenger å vite for å tilbakestille den posisjonelle parametere, kan u dele kommandoen hvis du vite.

Takk for hjelpen.
  #4 (permalink)  
Old 07-16-2008
fpmurphy's Avatar
fpmurphy fpmurphy is offline Forum Staff  
Moderator
  
 

Bli Dato: desember 2003
Sted: Florida
Innlegg: 1930
Dette spørsmålet har blitt reist en rekke ganger på dette forumet. Det du ser er den forventede atferden til shellet siden du er prikk inkludert dvs. sourcing Shell1.sh.
  #5 (permalink)  
Old 07-16-2008
zaxxon's Avatar
zaxxon zaxxon is offline Forum Staff  
Moderator
  
 

Bli Dato: Sep 2007
Sted: Tyskland
Innlegg: 2285
Nå forstår jeg hva du mener ok ...
Det er ingenting å restarte som skallskript vanligvis ikke husker noe uten å skrive det til en fil eller eksportere den til miljøet. Så det er ingenting å tilbakestille.
Problemet med skriptet er linjen
Sitat:
f [$ #! \u003d 2]
som du burde prøve med

Code:
if (( $# != 2 ))
Den doble runde parentes behandle verdiene som tall (aritmetikk), ikke som strenger, så det skal fungere nå.

Eksempel:
Code:
root@isau02:/data/tmp/testfeld> cat script.ksh
#!/usr/bin/ksh

echo $#

if (( $# != 2 )); then
        echo "Hey! This is not 2 parameters!"
else
        echo "Everything is fine"
fi

exit 0
root@isau02:/data/tmp/testfeld> ./script.ksh  b lala
2
Everything is fine
root@isau02:/data/tmp/testfeld> ./script.ksh  b lala lal
3
Hey! This is not 2 parameters!
root@isau02:/data/tmp/testfeld> ./script.ksh  yo
1
Hey! This is not 2 parameters!

EDIT: Å ikke la merke til han var sourcing, glem mitt innlegg
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 04:39.


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