Como definir o parâmetro zero ($ 0) durante a execução de um script?

3

Eu posso manipular os parâmetros posicionais usando shift ou set -- enquanto um script é interpretado.

Como posso alterar $0 ?

    
por not-a-user 23.07.2014 / 14:01

1 resposta

2

Diferente do que Stephane já mencionou, as únicas outras maneiras que posso pensar em fazer isso envolvem invocar um processo sh - o que significa que sua função também pode ser um script. Mas se você ainda estiver interessado:

fn() { sh -c "$(cat)" arg0 "$@" ; } <<\FNDEF
    echo "My argv0 is $0 and my positionals are..."
    printf %s\n "$@"
#END
FNDEF
fn arg1 arg2 arg3 
###OUTPUT###
My argv0 is arg0 and my positionals are...
arg1
arg2
arg3

Não é muito útil, no entanto, não acho.

    
por 23.07.2014 / 14:50