2014-01-04 3 views
1

chdir stanza в файле upstart conf, похоже, не распознает переменную - я что-то упустил или есть обходное решение?upstart - chdir не распознает переменную

env MHOME=/home/foo/bar 
chdir $MHOME 

получаю эту ошибку:

unable to change working directory: No such file or directory 

вот полный файл выскочка конф, используя экспорт вместо окр:

$ cat /etc/init/foo.conf 
description "foo" 

start on runlevel [23] 
stop on shutdown 

export FOO=/tmp 

chdir $FOO 
#chdir /tmp 

console log 

exec python -m SimpleHTTPServer 

respawn 

это дает следующее сообщение об ошибке в системном журнале:

kernel: [727103.302734] init: Failed to spawn foo main process: unable to change working directory: No such file or directory 

ответ

-2

Почему не " t Вы используете:

export MHOME=/home/foo/bar 

Я не очень хорошо владею командой env, но это не то, что вам нужно.

Из информации окр:

23.2 `env': Run a command in a modified environment

`env' runs a command with a modified environment. Synopses:

env [OPTION]... [NAME=VALUE]... [COMMAND [ARGS]...] 
env 
+0

экспорт не помогли тоже ChDir до сих пор не удается :( –

+0

Подождите, вы уверены, что вы пишете правильное имя каталога экспорта я уверен, что работает попробовать в оболочке:. ' export MHOME =/home/foo/bar' , а затем 'cd $ MHOME' – maurelio79

+0

Извините, я не смог попробовать снова сразу. Я просто попытался и все еще не работает. Он работает в оболочке (bash). вы попробуете его один раз и посмотрите, работает ли он для вас без каких-либо ошибок в syslog? Спасибо. –

3

окр применяется только к EXEC и сценарий строфы. Попробуйте это:

env FOO=/tmp 

script 
    chdir $FOO 
    exec python -m SimpleHTTPServer 
end script 
+0

это сработало для меня: в частности, с помощью директивы script/end script – putonspectacles

Смежные вопросы