1
我的bash/nohup体验非常有限,所以我可能会犯一个基本错误。在bash脚本中运行nohup时出错
我正在启动后台文件监视器。 (如果它很重要,Sass是一个CSS预处理器,它可以监视源文件,并在检测到更改时自动将它们编译为CSS。)
当我在shell提示符处输入此内容时,它将完美启动Sass文件监视器:
nohup sass --watch /data/sass/:/data/css/ > /var/log/sass.out 2> /var/log/sass.err &
但是,当我把它放在这样一个脚本(调试简化示例脚本):
COMMAND="[exactly the same command as above]"
echo `$COMMAND`
我得到这个错误:
nohup: ignoring input and redirecting stderr to stdout
Errno::ENOENT: No such file or directory - > Use --trace for backtrace. >>>
Sass is watching for changes. Press Ctrl-C to stop.
如果指定完整路径/ usr/bin/local/sass,则会发生同样的情况。任何想法,我要去哪里错了?
这将重定向工作,但如果任何参数包含空格 – jordanm
将无法正常工作你是什么意思?这对我有用:'cmd =“echo'嗨,这里是空格'>/tmp/test_eval”; eval $ cmd; cat/tmp/test_eval' =>嗨,这里有空格 – ndbroadbent
太棒了。它的工作原理与现在一样。感谢您及时的回复。 –