desloca para o segundo parâmetro e para executar o script $ 2

0

Estou tentando resolver como executar o segundo parâmetro ( $2 ) diretamente após $1 . Para ilustrar:

./file.sh file1.txt file2.sh

Estou tentando chamar o file2.sh desde ./file.sh , mas nada parece funcionar. E eu não sei como devo usar o "turno" ... Alguém poderia me ajudar, por favor?

    
por SnowMan 09.08.2016 / 18:12

2 respostas

0

Você gostaria de algo assim?

./file.sh file1.txt && file2.sh

Ele executará o script file2.sh somente quando o script file.sh terminar com status zero (sem erro).

Você também pode usar || em vez de && . Ele executará o segundo script se falhar primeiro.

    
por 09.08.2016 / 18:24
0

Em file.sh :

#!/bin/sh

first="$1"
shift

# Run the rest of the command line as a command
"$@"

Isso colocará o primeiro argumento de linha de comando na variável first e, em seguida, deslocará esse valor dos parâmetros posicionais. A última linha do script executará os demais parâmetros posicionais como comando.

$ ./file.sh hello echo world
world
    
por 10.08.2016 / 11:00