The UNIX and Linux Forums  
Hello and Welcome-tól az Egyesült Államokat, hogy az UNIX és Linux Forums? Köszönjük, hogy meglátogatta és csatlakozik Globális Közösség.

Go Back   A UNIX és Linux Forums > Top Fórumok > Shell programozás és Scripting
.
google unix.com



Shell programozás és Scripting Post kérdések KSH, CSH, SH, Bash, Perl, PHP, SED, AWK ÉS EGYÉB shell szkriptek és shell script nyelvek itt.

Több, UNIX és Linux fórum témák Ön által talált Hasznos
Szál Thread Starter Fórum Válaszok Utolsó hozzászólás
Using getopts TurboArkhan Shell programozás és Scripting 3 06-22-2009 05:31 PM
Segítség a getopts chella Shell programozás és Scripting 4 11-02-2007 01:09 AM
getopts súgó GrepMe Shell programozás és Scripting 3 06-20-2007 12:47 PM
segítséget getopts problémák Shell programozás és Scripting 1 05-05-2006 12:07 AM
getopts google Shell programozás és Scripting 3 12-05-2002 07:42 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 Téma eszközök Keresés a téma Rate Thread Megjelenítési módok
  #1 (permalink)  
Old 03-25-2005
yerra yerra is offline
Regisztrált felhasználó
  
 

Join Date: Jan 2005
Hozzászólások: 13
getopts

Van egy script, amely a tüzek egy parancs alapján meghatározott paramétereket. Én kiküldetésére az alábbi kódot ..

A lehetőségek igényeit kell, hogy
-u opció jár együtt, és a-d-s,-f megy-d-t, és megy a-s és-d.
1) Hogyan lehet biztosítani, hogy bármely felhasználó elmulasztotta a lehetőséget, akkor meg kell adni. Ez egyszerű, ha majd máshol, ahol ellenőrzik a hosszú karakterláncot mindezen lehetőségeket.

HASZNÁLAT \u003d "Usage:` basename $ 0 `[-s schemaname] [-d databasename] [-u felhasználónév]-f-t-h"
míg getopts: S: D: u: fth params
tesz
$ params esetben a

s) SOURCESCHEMA \u003d "$ OPTARG";

f) a teljes \u003d 'Y';

t) TABLE \u003d 'Y';

d) DBNAME \u003d "$ OPTARG";

u) USERNAME \u003d "$ OPTARG";

h)
help_doc
exit 0
;

? |
echo "Érvénytelen opció Specified"
echo "$ HASZNÁLAT" 1> & 2 exit 1
;

esac

kész


Köszönöm ..
  #2 (permalink)  
Old 03-25-2005
google's Avatar
google google is offline Forum Advisor  
Moderátor
  
 

Join Date: Jul 2002
Helyszín: Atlanta
Posts: 740
Lehet csinálni egy-két módon is -, egy ellenőrző szám minden egyes esetben. Végén a getsopts nyilatkozatát, és mielőtt bármilyen más kódot végrehajtani, nézze meg, ha a checksum érték mi várható. Ha ön dont szeretné ezt a megközelítést, megteszi a könnyű út és értékeli $ #. $ # Tart száma száma parancssori paramétereket át a forgatókönyvet.
  #3 (permalink)  
Old 03-26-2005
yerra yerra is offline
Regisztrált felhasználó
  
 

Join Date: Jan 2005
Hozzászólások: 13
Új e sor végén a script (getopts után), talán az a megközelítés rossz ..

if [$ #-eq "3"], majd
1. lehetőség meg-s-d-u "
elif [$ #-eq "2"], majd
"2. lehetőség meghatározott-D és-f"
fi

A $ # mindig értéke 6, ha az opció
scriptname-d databasename-u username-s schemaname. Hogyan jutnak 6?
  #4 (permalink)  
Old 03-26-2005
yerra yerra is offline
Regisztrált felhasználó
  
 

Join Date: Jan 2005
Hozzászólások: 13
Azt hiszem, van most.
Ha rendelkezik scriptname-schema-k és a felhasználói adatbázis-d, $ # értéke 6 alapján nem a lehetőségeket, és az európai értékeket. (-s schema) 2, (-u felhasználó) 2 és (d adatbázis) 2.

Szóval, ha adatbázis-d-f értékeli azt a 3 (-d adatbázis) 2 és a (-f) 1.
Ha megadja-d adatbázis és-t (azt is értékeli, hogy 3).

Hogyan tudom ellenőrizni, ha meg-t vagy a-f akkor?
  #5 (permalink)  
Old 03-26-2005
google's Avatar
google google is offline Forum Advisor  
Moderátor
  
 

Join Date: Jul 2002
Helyszín: Atlanta
Posts: 740
I didnt teszt ez minden, csak egy ötlet volt. Im biztos van egy millió módon lehet csinálni.

Kód:
USAGE="Usage: `basename $0` [-s schemaname] [-d databasename] [-u username] -f -t -h"
while getopts :s:d:u:fth params
do
   case $params in
     s) SOURCESCHEMA="$OPTARG"
        let COUNT= $COUNT+10000
         ;;
     f) FULL='y'
         ;;

     t) TABLE='y'
         ;;

     d) DBNAME="$OPTARG"
         let COUNT= $COUNT+1
        ;;

     u) USERNAME="$OPTARG"
         let COUNT= $COUNT+1000
         ;;
     h) 
         help_doc
         exit 0 
         ;;
     ?) 
         echo "Invalid Option Specified"
         echo "$USAGE" 1>&2 ; exit 1 
         ;;
   esac

if [ "$COUNT" -ne 10101 ]
  then
    help_doc
    exit 0
elif [ ! -z $FULL ]
   then
      echo "Paramater FULL is Set"
elif [ ! -z $TABLE ]
   then
      echo "Paramater TABLE is Set"
else
    echo "Neither TABLE or FULL Are Set"
fi
  #6 (permalink)  
Old 03-26-2005
yerra yerra is offline
Regisztrált felhasználó
  
 

Join Date: Jan 2005
Hozzászólások: 13
Tudtam, hogy ezt a $ #. Köszi a segítséget ..
Closed Thread

Könyvjelzõk

Téma eszközök Keresés a téma
Keresés a téma:

Részletes keresés
Megjelenítési módok Rate this thread
Rate this thread:

Posting szabályzat
Ön nem post new threads
Ön nem post válaszok
Ön nem post Csatolmányok
Ön nem szerkeszteni az üzeneteidet

BB kód van Be
Smilies vannak Be
[IMG] kód Be
HTML kód Ki
Trackbacks vannak Be
Pingbacks vannak Be
Refbacks vannak Be




Minden idő GMT -4. Az idő most 01:13 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Nyelvre lefordítva Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
A UNIX és Linux Fórum Tartalom Copyright © 1993-2009. Minden jog Reserved.Ad menedzsment RedTyger

Content Relevant URLs by vBSEO 3.2.0