Você pode fazer isso de duas formas: export
variable no script do meio ou salvá-lo no arquivo e fornecê-lo no script mais baixo.
Eu testei este exemplo no lubuntu 12.04:
myapp.conf é o script principal e exporta a variável MYAPP_FOO
:
# myapp -
description "export environment variable"
env MYAPP_FOO=bar
export MYAPP_FOO
task
console log
script
exec echo "$MYAPP_FOO - myapp"
end script
app-web.conf é o script do meio que exporta a variável do pai e define e exporta MYAPP_FOO1
# app-web -
description "export environment variable"
start on starting myapp
env MYAPP_FOO1=bar1
export MYAPP_FOO1
export MYAPP_FOO
task
console log
script
exec echo "$MYAPP_FOO - app-web - $MYAPP_FOO1"
end script
Finalmente variável de impressão app-web1.conf :
# app-web1 -
description "export environment variable"
start on starting app-web
task
console log
script
exec echo "$MYAPP_FOO - app-web1 - $MYAPP_FOO1"
end script
Eu usei sudo start myapp
e o resultado em /var/log/upstart/app-web1.log
é:
bar - app-web1 - bar1
Outra abordagem é definir sua variável no arquivo e fornecê-la onde você precisa:
# app-web1 -
description "export environment variable"
start on starting app-web
task
console log
script
. /path/where/you/want/environmentFile
exec echo "$MYAPP_FOO - app-web1 - $MYAPP_FOO1"
end script
Ou você pode criar environmentFile
no script do meio:
# app-web -
description "export environment variable"
start on starting myapp
env MYAPP_FOO1=bar1
task
console log
script
env | grep MYAPP_ > /path/where/you/want/environmentFile
exec echo "$MYAPP_FOO - app-web - $MYAPP_FOO1"
end script