Eu estava lendo o manual do Bash para entender a -s
opção ao invocar bash
. A primeira frase diz:
-s Se esta opção estiver presente, ou se nenhum argumento permanecer após o processamento da opção, os comandos serão lidos da entrada padrão.
O que significa "nenhum argumento permanece após o processamento da opção"? Eventualmente, todas as opções serão processadas e não haverá mais opções/argumentos para processar, certo?
Preciso saber a diferença entre usar bash -s
e sem (ou seja, bash
).
O seguinte será executado
script
com argumentosarg1
earg2
:Com
-s
, algo muito diferente acontece: um shell interativo é iniciado e quaisquer argumentos restantes para o bash são interpretados não como comandos para, mas apenas como argumentos posicionais:Acima,
echo "0=$0 1=$1 2=$2"
foi digitado manualmente no prompt interativo para o novo shell.