我正在尝试使用nohup运行脚本,但命令恰好采用了 变量$ *的整行参数。我尝试运行这样的命令:
nohup time ./build_all all &
但是这在nohup.out中给出了以下错误:
./build_all: DISPLAY=ted:0.0: is not an identifier
任何帮助表示感谢。
特德=============================================== ===================================
我意识到Peter John Acklam是对的。错误不是因为nohup,而是因为脚本,我不确定我做错了什么,因为语法似乎对我来说是正确的。当我自己运行脚本时,我没有看到错误,但是当我尝试使用nohup运行时,我看到了奇怪的错误,这也有点奇怪。
无论如何,脚本的开头看起来像这样:
#!/bin/bash
export DISPLAY=ted:0.0 # sets the display
export RELEASE=v1.0
node=`uname -n`
答案 0 :(得分:7)
只需在命令行上将参数设置为“build_all”,就像其他任何命令一样:
nohup time ./build_all args to build_all go here &
并且参数将传递给“build_all”,而不是“time”或“nohup”。 &符将被shell正确解释,并且不会作为参数传递给任何命令。
答案 1 :(得分:1)
脚本参数(参数)只是遵循脚本的名称,并在&符号之前。