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
Script til at opdatere værdier for parametrene gmahesh2k UNIX for dummyer Spørgsmål & svar 1 07-14-2008 10:53 PM
Positionsbestemmelsesudstyr parametre shalu @ IBM UNIX for dummyer Spørgsmål & svar 2 11-22-2007 07:58 AM
Positionsbestemmelsesudstyr Parameters ericelysia UNIX for dummyer Spørgsmål & svar 15 10-23-2005 04:11 PM
Positionsbestemmelsesudstyr Parameters google Shell Programmering og Scripting 2 09-26-2003 02:51 PM

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 07-16-2008
nmk nmk is offline
Registreret Bruger
  
 

Join Date: Jul 2008
Stillinger: 2
Nulstilling af positionsbestemmelsesudstyr parametre værdier

Hej,

Kan nogen give Unix-kommandoen til at nulstille de positionelle parametre?

Se nedenstående eksempel, hvor jeg er nødt til at passere 2 parametre til Shell1.sh.

Trin 1). ./Shell1.sh 2 3
succes gennemført, så har jeg gennemført (næste trin kun) det samme shell script igen, denne gang nogen parametre gået.

Trin 2). ./Shell1.sh
Dette er også lykkedes henrettet, fordi det betragtes som (tidligere værdier) 2 & 3 som den positionelle parametre, som jeg havde ikke reseted dem.

Thanks in advance.
  #2 (permalink)  
Old 07-16-2008
zaxxon's Avatar
zaxxon zaxxon is online now Forum Staff  
Moderator
  
 

Join Date: Sep 2007
Location: Tyskland
Indlæg: 2.289
Jeg forstår ikke. Hvordan scriptet kender den tidligere parametre? Vil du eksportere dem eller skrive dem til fil?
  #3 (permalink)  
Old 07-16-2008
nmk nmk is offline
Registreret Bruger
  
 

Join Date: Jul 2008
Stillinger: 2
Hi zaxxon,

Hvordan scriptet kender den tidligere parametre?
Som jeg ved, hvis vi en gang tildele værdier til positionelle parametre, disse vil blive fortsat samme, indtil vi overflytte them.the samme skete i mit tilfælde også.

Vil du eksportere dem eller skrive dem til fil?
Jeg er ikke eksportere eller ikke skrive i en fil.

Jeg er ny til Unix & shell scripting, korrigere mig, hvis jeg forkert jeg korrigere mig i ovenstående.

Nedenfor er indholdet af Shell1.sh:
if [$ #! \u003d 2]

echo "Ingen af parametre bestået ikke lig med 2"
anden
echo $ 1
echo $ 2
echo "afsluttet"
fi


Nedenfor er strømmen af udførelsen og deres output:

. ./Shell1.sh 2 3
2
3
Suppleret
. ./Shell1.sh
2
3
Suppleret


Den anden gang jeg nødt til at få output som "Ingen af parametre bestået ikke lig med 2", men det var ikke happened.This er grunden til at jeg behøver at vide kommandoen for at nulstille den positionelle parametre, kan u dele kommando, hvis du vide.

Tak for din hjælp.
  #4 (permalink)  
Old 07-16-2008
fpmurphy's Avatar
fpmurphy fpmurphy is offline Forum Staff  
Moderator
  
 

Join Date: Dec 2003
Beliggenhed: Florida
Indlæg: 1.930
Dette spørgsmål er blevet rejst flere gange på dette forum. Hvad du ser, er den forventede opførsel af din skal da du er dot herunder dvs sourcing Shell1.sh.
  #5 (permalink)  
Old 07-16-2008
zaxxon's Avatar
zaxxon zaxxon is online now Forum Staff  
Moderator
  
 

Join Date: Sep 2007
Location: Tyskland
Indlæg: 2.289
Nu forstår jeg, hvad du mener ok ...
Der er intet at nulstille som skalskripter normalt ikke huske noget uden at skrive det til en fil eller eksportere det til miljøet. Så der er intet at nulstille.
Problemet med dit script er linjen
Citat:
f [$ #! \u003d 2]
som du bør prøve med

Code:
if (( $# != 2 ))
Den dobbelte parentes behandle de værdier, som tal (regne), ikke så strenge, så det burde arbejde nu.

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: Åh lagde ikke mærke han var sourcing, glem min post
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 07:59 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