2011-11-16 18 views
6

Nohup ile bir komut dosyası çalıştırmaya çalışıyorum, ancak komut $ * değişkenine sahip bir tüm parametre satırı alacaktır. Böyle komutu çalıştırmayı deneyin:Tüm parametreleri alan komut dosyasında nohup komutunu çalıştırıyor

nohup time ./build_all all & 

Ama bu nohup.out bana aşağıdaki hatayı veriyor:

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

takdir Herhangi bir yardım.

Ted

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

Ben Peter John olduğunun farkındayım Acklam haklıydı. Hata nohup yüzünden değil, betik nedeniyle, yanlış yaptığımdan emin değilim çünkü sözdizimi bana doğru geliyor. Ayrıca, betiği kendi başıma çalıştırdığımda, hatayı görmüyorum, ama nohup ile çalışmaya çalıştığımda garip bir hatayı görmekteyim.

neyse, senaryo başlangıcı şuna benzer:

#!/bin/bash 

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

node=`uname -n` 

cevap

6

Basitçe başka komutu için olduğu gibi, komut satırında “build_all” argümanlar yerleştirin:

nohup time ./build_all args to build_all go here & 

ve argümanlar “time” ya da “nohup” için değil “build_all” e aktarılacaktır. Ve işareti, kabuk tarafından doğru şekilde yorumlanacak ve komutlardan herhangi birine bir argüman olarak geçirilmeyecektir.

+0

Bu garip, denediğimde işe yaramadı. Hata o zaman başka bir yerde olmuş olabilir. – Flethuseo

+0

Önerdiğiniz gibi yaptım, ancak DISPLAY – Flethuseo

+0

değişkeniyle garip bir hata alıyorum “DISPLAY” değişken hatası “build_all” içindeki bir sözdizimi hatasıdır ve “nohup” veya “time” ile ilgisi yoktur. Belki de “DISPLAY = ted: 0.0” dizesini içeren “build_all” satırını gösterebilirsiniz. –

1

Komut argümanları (parametreler) yalnızca komut dosyasının adını izler ve işareti aldım.

İlgili konular