Opção Bash -s: “nenhum argumento permanece após o processamento da opção”

2

Eu estava lendo o manual de Bash para entender o -s opção ao invocar bash . A primeira frase diz:

-s If this option is present, or if no arguments remain after option processing, then commands are read from the standard input.

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á opções / argumentos para processar, certo?

Se alguém puder me esclarecer sobre a diferença entre usar bash -s e sem (ou seja, bash ), também ficarei muito obrigado.

    
por flow2k 27.02.2018 / 22:35

1 resposta

2

O seguinte executará script com os argumentos arg1 e arg2 :

bash script arg1 arg2

Com -s , algo muito diferente acontece: um shell interativo é iniciado e quaisquer argumentos restantes para o bash são interpretados não como comandos, mas apenas como argumentos posicionais:

$ bash -s arg1 arg2
$ echo "0=$0  1=$1  2=$2"
0=bash  1=arg1  2=arg2

Acima, echo "0=$0 1=$1 2=$2" foi digitado manualmente no prompt interativo do novo shell.

    
por 27.02.2018 / 22:41

Tags