Caut o modalitate de a furniza o comandă bash cu mai multe argumente numai prin unele sugar de sintaxă. Știu deja $@ și $*, dar nu știu cum să le folosesc corect. Ar fi bine cu următoarea sintaxă:
definiți argumentele
comanda &args
O altă sintaxă poate fi următoarea:
- Concatenează argumente unice și stream într-un rând
definiți args_stream
comanda &args_stream arg_1
- Concatenați unic și transmiteți alternativ
definiți args_stream1
definiți args_stream2
comanda &args_stream arg_1 &args_stream2
Pare o practică proastă, dar vreau să reduc câteva rânduri din scripturile mele shell... :(
Actualizați
Exemple: Deoarece întrebarea este atât de largă încât cititorii nu au putut înțelege sensul ei real, ofer exemple:
- Ale mele
printHeader
funcţie are 7 argumente, dar cele mai multe dintre ele pot fi parametrizate. O opțiune este să setez variabila mea la un parametru implicit. Cu toate acestea, ar trebui să ordonez argumentele într-o formă neobișnuită, pentru argumentele principale ca elementele cele mai potrivite. O altă formă este de a scrie argumentele așa cum menționez: aș dori să corectez aceste argumente, flux sau matrice, așa cum menționez mai jos:
comanda $1 [$2.1 $2.2 $2.3] $3
- Prin rulare de comandă
git --help
, primesc jurnalul de mai jos:
utilizare: git [--version] [--help] [-C <cale>] [-c <nume>=<valoare>]
[--exec-path[=<cale>]] [--html-path] [--man-path] [--info-path]
[-p | --paginate | -P | --no-pager] [--no-replace-objects] [--bare]
[--git-dir=<cale>] [--work-tree=<cale>] [--namespace=<nume>]
<comandă> [<args>]
Argumentele dintre paranteze sunt opționale, dar pot fi furnizate prin cratima dublă --
notaţie. Este o opțiune pentru notația mea pentru fluxul de argumente.