Sei que o título não é muito claro, mas realmente não sei como declarar meu problema.
Eu tenho um shell e quero poder chamá-lo usando vários parâmetros, alguns precisando de argumentos, outros não.
exemplo (eu o cobri):
] $ ./my_script -j arg1
] & ./my_script -p
Meu problema é que eu quero poder usar vários parâmetros como:
] $ ./my_script -paj
para passar o argumento para os parâmetros que precisam, assim:
] $ ./my_script -paj arg4a arg4j
Mas parece que não consigo fazê-lo, ao tentar os primeiros parâmetros que precisam de arg, usar os parâmetros da rede como argumento ...
Então, existe a minha pergunta, é possível, fazê-lo funcionar?
Se puder ajudar, posso mostrar uma pequena amostra em que trabalho para testar isso.
getopts- assumindo que "-a" exija um argumento, esse valor será "j" e "arg4a" e "arg4j" serão enviados ao programa como parâmetros posicionais $ 1 e $ 2. Por que você sente que precisa recolher as opções? O que há de errado com myscript -pa a_arg -j j_arg??
myscript -pa a_arg -j j_arg
getoptcomando ou o comandogetoptsinterno do bash. Dê uma olhadaman getopteman bash.