Structură de bază

Ce este o opțiune de linie. Apel în așteptare / așteptare: entitate

Conținutul

    Tot ce getopt nu este canonicalize opțiunile care sunt transmise într — adică de a le converti la o formă mai standard, astfel încât acesta's ușor pentru un script de shell pentru a le procesa.

    De ce folosesc getopt "în loc de" getopts?

    ce este o opțiune de linie

    Motivul de bază este că doar GNUgetopt oferă suport pentru mult timp-numit opțiuni de linie de comandă. Dacă ștergeți primele 9 linii tot prin eval set linecodul va încă de lucru! Cu toate acestea, codul va fi mult pickler în ce tipuri de opțiuni se acceptă: În special, nu'll trebuie să specificați toate opțiunile în "canonic" forma descrisă mai sus. Cu utilizarea de getopt, cu toate acestea, puteți grupa single-scrisoare de opțiuni, utilizați mai scurt non-ambiguă forme de lungă de opțiuni, utilizați fie--fișier foo.

    ce este o opțiune de linie

    NOTĂ: sunt de fapt două totally different versiuni ce este o opțiune de linie getoptde bazăgetopt și GNU getopt, cu caracteristici diferite și diferite de asteptare convenții.

    Codul de mai sus nu va funcționa în bază de getopt.

    În acest fel, lilo se " blochează " pe o opţiune pînă cînd este rescrisă manual. Aceasta setează opţiunea lock în fişierul lilo. This way, lilo " locks " on a choice until it is manually overridden.

    Un ghid rapid la modificarea exemplu de cod pentru propriul program: De la primele linii, totul este "șabloane" care ar trebui să rămână același, cu excepția liniei care apelează getopt. Ar trebui să schimbați numele de programul de după -n, specificați opțiunile scurte după -o, și lungă de opțiuni de după - lung.

    ce este o opțiune de linie

    Pune un colon după opțiuni care ia o valoare. În cele din urmă, dacă vedeți codul de care a stabilit în loc de eval set, a fost scris pentru BSD getopt. Ar trebui să-l schimbe pentru a utiliza eval set de "stil", care funcționează bine cu ambele versiuni de getopt, în timp ce la câmpie " set " nu't lucra chiar cu GNU getopt.

    ce este o opțiune de linie

    În zsh, utilizat zparseopts pentru a obține această funcționalitate.