запуск команды nohup для скрипта, который принимает все параметры - PullRequest
6 голосов
/ 16 ноября 2011

Я пытаюсь запустить скрипт с помощью 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`

Ответы [ 2 ]

7 голосов
/ 16 ноября 2011

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

nohup time ./build_all args to build_all go here &

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

1 голос
/ 16 ноября 2011

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

...