Alterar
#!/bin/bash
export var1="value1"
export var2="value2"
export var3="value3"
program
em
#!/bin/bash
if [ "$1" != "debug" ]; then
export var1="value1"
fi
export var2="value2"
export var3="value3"
program
O primeiro argumento de linha de comando para o seu script estará disponível em $1
, e se essa não for a variável de ambiente debug
, export
the var1
.
A #!
-line poderia opcionalmente ser alterada para #!/bin/sh
, pois o script (como escrito acima) não usa nenhum recurso bash
-específico.
Uma variação dos itens acima, que faz isso de forma diferente com uma matriz, sem realmente definir as variáveis no próprio script (somente para o program
ao iniciá-lo):
#!/bin/bash
if [ "$1" != "debug" ]; then
vars=( var1="value1" )
fi
vars+=( var2="value2" var3="value3" )
env "${vars[@]}" program
ou, para /bin/sh
,
#!/bin/sh
mode=$1
set -- var2="value2" var3="value3"
if [ "$mode" != "debug" ]; then
set -- var1="value1" "$@"
fi
env "$@" program