The UNIX and Linux Forums  
Ciao e benvenuto da parte degli Stati Uniti al UNIX e Linux Forum! Grazie per la visita ed unirsi alla nostra Comunità Globale.

Go Back   UNIX e Linux Forum > Inizio Forum > Shell scripting e di programmazione
.
google unix.com



Shell scripting e di programmazione Pubblica domande su KSH, CSH, SH, Bash, Perl, PHP, sed, awk e da altri script di shell e linguaggi di scripting shell qui.

Più di UNIX e Linux Forum Argomenti potreste trovare utili
Filo Thread Starter Forum Risposte Ultimo Post
Script per aggiornare i valori per i parametri gmahesh2k UNIX for Dummies Domande & Risposte 1 07-14-2008 09:53 PM
Parametri posizionali shalu @ ibm UNIX for Dummies Domande & Risposte 2 11-22-2007 07:58 AM
Parametri posizionali ericelysia UNIX for Dummies Domande & Risposte 15 10-23-2005 03:11 PM
Parametri posizionali google Shell scripting e di programmazione 2 09-26-2003 01: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 Cerca in questo Thread Rate Thread Modalità di visualizzazione
  #1 (permalink)  
Old 07-16-2008
nmk nmk is offline
Utente Registrato
  
 

Iscriviti Data: luglio 2008
Interventi: 2
Reimpostazione del posizionale parametri valori

Salve,

Posso fornire uno Unix comando per ripristinare la parametri posizionali?

Si prega di consultare il seguente esempio dove devo passare Shell1.sh a 2 parametri.

Step1). ./Shell1.sh 2 3
eseguito con successo, poi ho eseguito (prossimo passo solo) lo stesso script di shell di nuovo, questa volta senza i parametri passati.

Fase 2). ./Shell1.sh
Questo è anche eseguito con successo, perché ha ritenuto (valori precedenti) 2 e 3 come i parametri posizionali come non aveva reseted loro.

Grazie in anticipo.
  #2 (permalink)  
Old 07-16-2008
zaxxon's Avatar
Zaxxon zaxxon is offline Forum Staff  
Moderatore
  
 

Iscriviti Data: Sep 2007
Posizione: Germania
Messaggi: 2.277
Non capisco. Come funziona lo script di conoscere l'ex parametri? Lei li esportano o scrittura su file?
  #3 (permalink)  
Old 07-16-2008
nmk nmk is offline
Utente Registrato
  
 

Iscriviti Data: luglio 2008
Interventi: 2
Hi Zaxxon,

Come funziona lo script di conoscere l'ex parametri?
Come sapere se una volta ci assegnare i valori di tali parametri posizionali sarà rimanere stesso fino a quando non riassegnare them.the stesso è accaduto anche nel mio caso.

Lei li esportano o scrittura su file?
Io non sono esportatori o non scrivere in un file.

Sono nuovo di Unix e shell scripting, corretto se sbaglio mi corretta in precedenza.

Di seguito è riportato il contenuto di Shell1.sh:
if [$ #! \u003d 2]
allora
echo "Numero di parametri passati non uguale a 2"
altro
echo $ 1
echo $ 2
echo "Completato"
fi


Di seguito è riportato il flusso di esecuzione e la loro produzione:

. ./Shell1.sh 2 3
2
3
Completato
. ./Shell1.sh
2
3
Completato


La seconda volta ho bisogno di ottenere l'output come "No di parametri passati non uguale a 2", ma non è stato happened.This è il motivo per cui ho bisogno di sapere il comando per ripristinare la parametri posizionali, può u parti il comando se sapere.

Grazie per il vostro aiuto.
  #4 (permalink)  
Old 07-16-2008
fpmurphy's Avatar
fpmurphy fpmurphy is offline Forum Staff  
Moderatore
  
 

Iscriviti Data: dicembre 2003
Luogo: Florida
Interventi: 1.924
Tale questione è stata sollevata una serie di volte su questo forum. Quello che vediamo è il comportamento previsto del vostro guscio dal punto vi sono compresi cioè sourcing Shell1.sh.
  #5 (permalink)  
Old 07-16-2008
zaxxon's Avatar
Zaxxon zaxxon is offline Forum Staff  
Moderatore
  
 

Iscriviti Data: Sep 2007
Posizione: Germania
Messaggi: 2.277
Ora ho capito cosa vuoi dire ... ok
Non vi è nulla di reimpostare come script di shell di solito non si ricorda nulla senza la scrittura di un file o di esportazione per l'ambiente. Quindi non vi è nulla di reset.
Il problema con lo script è la linea
Citazione:
f [$ #! \u003d 2]
che si dovrebbe provare con

Codice:
if (( $# != 2 ))
La doppia parentesi tonde trattare i valori come numeri (aritmetica), e non come stringhe, quindi ora dovrebbe funzionare.

Esempio:
Codice:
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: Oh non era nota la provenienza, il mio post dimenticare
Closed Thread

Segnalibri

Thread Tools Cerca in questo Thread
Cerca in questo Thread:

Ricerca Avanzata
Modalità di visualizzazione Vota questo thread
Vota questo thread:

Distacco regolamento
Tu non può post nuovo thread
Tu non può inviare una risposta
Tu non può postare allegati
Tu non può modificare i tuoi post

BB codice è Su
Smilies sono Su
[IMG] codice Su
Codice HTML è Chiuso
Trackbacks sono Su
Pingbacks sono Su
Refbacks sono Su




Tutti gli orari sono GMT -4. La data di oggi è 03:13 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traduzioni Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX e Linux Forum Content Copyright © 1993-2009. Tutti i diritti Reserved.Ad di gestione da RedTyger

Contenuti pertinenti URL da vBSEO 3.2.0