запуск команды nohup в скрипте, который принимает все параметры

Я пытаюсь запустить скрипт с nohup, но команда принимает вся строка параметров с переменной $*. Я пытаюсь запустить команду следующим образом:

    nohup time ./build_all all &

но это дает мне следующую ошибку в nohup.out:

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

любая помощь ценится.

Тэд

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

Я понимаю, что Питер Джон Acklam был прав. Ошибка не из-за nohup, а из-за скрипта, я не уверен, что я делаю неправильно, потому что синтаксис кажется мне правильным. Также странно, что когда я запускаю скрипт сам по себе, я не вижу ошибки, но когда я пытаюсь работать с nohup, я вижу странную ошибку.

во всяком случае, начало скрипта выглядит так:

#!/bin/bash

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

node=`uname -n`

2 ответов


просто поместите аргументы в" build_all " в командной строке, как и для любой другой команды:

nohup time ./build_all args to build_all go here &

и аргументы будут переданы в "build_all", а не в" time "или"nohup". Амперсанд будет правильно интерпретироваться оболочкой и не будет передаваться в качестве аргумента ни одной из команд.


аргументы сценария (параметры) просто следуют за именем сценария и предшествуют амперсанду.