![]() |
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.
|
|
google unix.com
|
|||||||
| Fórumok | Regisztráció | Fórum Szabályok | Linkek | Albumok | GYIK | Tagok listája | Naptár | Keres | Mai hozzászólások | Megjelöl Fórumok Olvas |
| 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 | Shell programozás és Scripting | 3 | 12-05-2002 07:42 PM | |
![]() |
|
|
LinkBack | Téma eszközök | Keresés a téma | Rate Thread | Megjelenítési módok |
|
|
|
||||
|
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 .. |
|
||||
|
Ú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? |
|
||||
|
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? |
|
|||||
|
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
|
![]() |
| Könyvjelzõk |
| Téma eszközök | Keresés a téma |
| Megjelenítési módok | Rate this thread |
|
|