upstart - chdir无法识别变量

时间:2014-01-04 16:52:52

标签: linux ubuntu upstart

新手conf文件中的chdir节似乎无法识别变量 - 我是否遗漏了某些内容或是否有解决方法?

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

收到此错误:

unable to change working directory: No such file or directory

这是一个完整的upstart conf文件,使用export而不是env:

$ 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

这在syslog中出现以下错误:

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

2 个答案:

答案 0 :(得分:3)

env仅适用于exec和脚本节。试试这个:

env FOO=/tmp

script
    chdir $FOO
    exec python -m SimpleHTTPServer
end script

答案 1 :(得分:-2)

你为什么不用:

export MHOME=/home/foo/bar

我不太了解命令env,但似乎不是你需要的。

来自info env:

  

23.2`env':在修改后的环境中运行命令

     

`env'运行带有修改环境的命令。提要:

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