/ dev / null \ "^ EA ea_ident $ $ \" $ EA_run_file `"] do if [$ all_OMC-ne 1] then" />
![]() |
|
|
google unix.com
|
|||||||
| Forum | Registrati | Regole Forum | Collegamenti | Album | FAQ | Members List | Calendario | Ricerca | Today's Posts | Mark Forums Read |
| 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 di shell per eseguire comandi utente | redtiger | Shell scripting e di programmazione | 1 | 04-30-2008 07:53 PM |
| eseguire un comando in silenzio o tranquillamente all'interno di una shell | Lumix | Shell scripting e di programmazione | 4 | 12-15-2007 03:10 PM |
| necessari per mettere in pausa mais shell | dennysavard | UNIX for Dummies Domande & Risposte | 7 | 12-09-2007 02:16 PM |
| l'esecuzione di comandi di shell in PerlScript | amitrajvarma | Shell scripting e di programmazione | 0 | 11-27-2007 02:49 AM |
| Urgente! Come scrivere un programma per l'esecuzione della shell di comando per accedere a Internet? | firebirdonfire | UNIX for Dummies Domande & Risposte | 2 | 04-26-2001 12:16 PM |
![]() |
|
|
LinkBack | Thread Tools | Cerca in questo Thread | Rate Thread | Modalità di visualizzazione |
|
|
|
||||
|
la shell di non mettere in pausa quando eseguire leggere comando
Ciao, ho un problema quando si esegue lo script di seguito ..
while [-z "$ ea_ident"-o-n "` grep 2> / dev / null \ "^ EA ea_ident $ $ \" $ EA_run_file `"] fare if [$ all_OMC-ne 1] allora printf "Inserisci un nome: [$ (omc_ident)]" leggere la risposta # problema si verifica qui if [-z "$ risposta"] allora ea_ident \u003d $ () omc_ident altro # # Controllare che il nome non contenga caratteri non validi # ea_ident \u003d `echo $ risposta | tr-d" / \ 011 "» if [-z "$ () ea_ident"-o "$ () ea_ident"! \u003d "$ (risposta)"] allora echo echo "Spiacente, non è un nome valido!" echo "non deve contenere spazi, caratteri di tabulazione o'/'." echo ea_ident \u003d fi fi altro ea_ident \u003d $ () omc_ident fi if [-n "` grep 2> / dev / null \ "EA ea_ident $ $ \" $ EA_run_file `"] allora echo "Questo nome è già in uso". fi fatto $ ea_ident è uno dei dati, quando per entrare in loop, quando excute leggere comando shell supponiamo per mettere in pausa e attendere l'input ... Ma nel mio caso, il suo non e subito eseguire il successiva -> if [-z "$ risposta"], ho fatto provare a utilizzare </ dev / tty, ma ancora non uso .. Si prega di postare qualsiasi soluzione di me per questo ... Grazie Ultimo a cura di neruppu; al 07/03/2008 05:14 AM.. |
|
||||
|
Citazione:
Ho semplicemente messo .. ma i dont penso che farà sì che questo problema ... |
|
||||
|
Citazione:
effettivamente nel mio scritps, ho seguito il flusso da mettere eco messaggi e si è entrati nel circuito printf ed eseguire entrambi i comandi e leggere, ma didnt pausa di input .. do u hanno alcuna idea di come risolvere questo problema ... Grazie |
|
|||||
|
ant: / home / vbe / script all_OMC \u003d $ 2
ant: / home / vbe / script $ if [$ all_OMC-ne 1] ^ Jthen ^ Jprintf "Inserisci un nome: [> Si prega di inserire un nome: [] E non funziona ... Quindi credo che prima di entrare e di cui la condizione ... Perché non provare con sh-x? |
|
|||||
|
I reformated lo script in modo che io possa effettivamente letto. Ho definito un paio di variabili in modo ho potuto farlo funzionare. Il risultato .... Codice:
$ cat mess
#! /usr/bin/ksh
all_OMC=0
EA_run_file=data
while [ -z "$ea_ident" -o -n "`grep 2>/dev/null \"^EA $ea_ident$\" $EA_run_file`" ] ; do
if [ $all_OMC -ne 1 ] ; then
printf "Please enter a name : [${omc_ident}] "
read response # the problem occur here
if [ -z "$response" ] ; then
ea_ident=${omc_ident}
else
#
# Check that name does not contain invalid characters
#
ea_ident=`echo $response | tr -d "/ \011"`
if [ -z "${ea_ident}" -o "${ea_ident}" != "${response}" ] ; then
echo
echo "Sorry, not a valid name!"
echo "Must not contain spaces, tabs or '/'."
echo
ea_ident=
fi
fi
else
ea_ident=${omc_ident}
fi
if [ -n "`grep 2>/dev/null \"EA $ea_ident$\" $EA_run_file`" ] ; then
echo "That name is already in use."
fi
done
$ ./mess
Please enter a name : [] it is pausing for me!
Sorry, not a valid name!
Must not contain spaces, tabs or '/'.
Please enter a name : [] kjhkjhkjhkjh
$
Hai postato un estratto da uno script e si suppone che l'errore è il brano che hai dato a noi. Questo non è vero. Il tuo errore è altrove. È necessario fornire a noi con uno script runable che riproduce il problema. |
![]() |
| Segnalibri |
| Tag |
| linux, solaris |
| Thread Tools | Cerca in questo Thread |
| Modalità di visualizzazione | Vota questo thread |
|
|