9

我正在尝试使用 nohup 运行脚本,但该命令恰好采用变量 $* 的整行参数。我尝试运行这样的命令:

    nohup time ./build_all all &

但这在 nohup.out 中给了我以下错误:

./build_all: DISPLAY=ted:0.0: is not an identifier

任何帮助表示赞赏。

泰德

==================================================== =================================

我意识到彼得·约翰·阿克拉姆是对的。错误不是因为 nohup,而是因为脚本,我不确定我做错了什么,因为语法对我来说似乎是正确的。奇怪的是,当我自己运行脚本时,我没有看到错误,但是当我尝试使用 nohup 运行时,我看到了奇怪的错误。

无论如何,脚本的开头如下所示:

#!/bin/bash

export DISPLAY=ted:0.0 # sets the display
export RELEASE=v1.0

node=`uname -n`
4

2 回答 2

9

只需将“build_all”的参数放在命令行上,就像任何其他命令一样:

nohup time ./build_all args to build_all go here &

并且参数将传递给“build_all”,而不是“time”或“nohup”。& 符号将被 shell 正确解释,并且不会作为参数传递给任何命令。

于 2011-11-16T14:34:11.583 回答
1

脚本参数(参数)只是跟在脚本名称之后,在 & 符号之前。

于 2011-11-16T14:34:49.147 回答