The UNIX and Linux Forums  
Hej og Velkommen fra USA til UNIX og Linux Forums! Tak for dit besøg og deltager i vores globale samfund.

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
g + + og-R option eternalflame Højtstående Programmering 0 04-14-2008 02:57 PM
-n option ravi raj kumar Shell Programmering og Scripting 1 01-03-2008 09:20 AM
ps: 65.535 er et ugyldigt ikke-numerisk argument for-p option gogogo Sun Solaris 5 11-19-2006 06:20 PM
su mulighed lesstjm UNIX for Advanced & Ekspertsøgning Brugere 1 11-02-2005 01:54 PM
cut-f option 435 Gavea UNIX for dummyer Spørgsmål & svar 1 11-10-2003 05:50 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 03-17-2008
gurukottur gurukottur is offline
Registreret Bruger
  
 

Join Date: Apr 2006
Stillinger: 40
option efterfulgt af: tager næste mulighed, hvis argumentet mangler med getopts

Hej alle,

Jeg parsing kommandolinjeflag hjælp getopts.

Problemet er, at obligatorisk argument muligheder således: ":" tager næste valg, da argument, hvis den ikke følges op af noget argument.
Nedenfor er scriptet:

mens getopts: hd: t: s: l: f: opt
gøre
case "$ opt" i
-h | - \?) usage;;
-d) DEBUG \u003d true; eksport SCRIPT_LOG_LEVEL \u003d DEBUG;;
-t) DEVTYPE \u003d "$ OPTARG";;

-s) SIG_IP \u003d "$ OPTARG"; eksport SOCKS5_SERVER \u003d "$ OPTARG: 9001";
-l) HOST_LOGIN \u003d "$ OPTARG";;

-p) PASSWORD \u003d "$ OPTARG";;

-f) cl_cfile_specd \u003d 1
eksport RUNNING_CONFIG_FILE \u003d "$ OPTARG";;

*) Logmsg "genkendte param usage";;
ESAC
gjort
hvis jeg kører scriptet som:
$. / script.sh-d-t rdsk-s 12.3.4.5-l guru-p-f / usr / local / sc.conf
mulighed-p er under-f som argument.

Please hjælp mig, hvordan man smide en fejl og afslutte scriptet hvis obligatoriske argument ikke er gået til scriptet.

Også, hvordan man skal behandle med optioner, der - dvs - logfil.

Please hjælp med ovennævnte problem
  #2 (permalink)  
Old 03-17-2008
drl's Avatar
DRL drl is offline Forum Advisor  
Registreret Bruger
  
 

Join Date: Apr 2007
Beliggenhed: Saint Paul, MN USA / BSD, CentOS, Debian, OS X, Solaris
Posts: 711
Hej.

Hvordan skal getopts vide, at strengen "-f" ikke er en passende værdi for argumentet om tilvalget "-p"? ... cheers, DRL

PS I getopts Jeg bruger, det drejer sig vælgere bør ikke have førende "-" tegn.

PPS Bemærk også, at du har sat "D:", men kom ikke bruge OPTARG i tilfælde selector for "-d".

Senest redigeret af kørelys; 03-17-2008 kl 12:36 PM..
  #3 (permalink)  
Old 03-17-2008
epoke
Guest
  
 

Posts: n / a
Bits: 0 [Banker]
Som en bemærkning om design, måske de bør ikke være "options", hvis de er obligatoriske.

Efter while-løkken, tjekke om password eller config filen er unset, og dø, hvis det er?

Jeg tror ikke, der er en standard måde at få lange indstillinger med getopts, og du kan rulle dine egne, selv om.

Code:
while :
do
  case $# in 0) break;; esac
  case $1 in 
    -h|-\?|--help) usage;;
    -d|--debug) DEBUG=true;export SCRIPT_LOG_LEVEL=DEBUG; shift ;;
    -t|--type) DEVTYPE="$2"; shift; shift ;;
    -s|--socks) SIG_IP="$2"; export SOCKS5_SERVER="$2:9001"; shift; shift ;;
    -l|--login) HOST_LOGIN="$2"; shift; shift;;
    -p|--password) PASSWORD="$2"; shift; shift ;;
    -f|--config-file) cl_cfile_specd=1
        export RUNNING_CONFIG_FILE="$2"; shift; shift ;;
    -*) logmsg "Unrecognized param usage";;
  esac
done
Gøre det die pænt, når en mulighed, der kræver et argument, der ikke modtager nogen (dvs. 2 dollar er ikke fastsat på alle), der er tilbage som en øvelse. Problemet med at se at $ 2 er den næste mulighed er kunstig intelligens (eller du kan opfinde en særskilt ordning for at angive et argument, som begynder med bindestreg, så du kan forbyde mulighed argumenter for at starte med en streg i det almindelige tilfælde. I don ' t vide, om det er gode eller dårlige usability).
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 03:40 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