expressões bash

2

Em um script bash eu tenho a seguinte seção.

if [ "${1:0:1}" = '-' ]; then
   set -- mongod "$@"
fi

O que as expressões ${1:0:1} e set -- mongod "$@" ?

    
por goga 19.05.2015 / 20:58

1 resposta

2

${parameter:offset:length} é "Expansão de Substring". (Veja a Expansão do Parâmetro em man bash ).

set , entre outras coisas, pode definir parâmetros posicionais:

  

Os restantes ARGs são posicionais       parâmetros e são atribuídos, em ordem, a $ 1, $ 2, .. $ n.

Assim, a expressão preends mongod aos argumentos posicionais.

    
por choroba 19.05.2015 / 21:11