2012-03-24 45 views
1

當我使用qsub提交一堆作業時,qsub首先會提供.bash_profile。那麼我怎樣才能首先沒有源代碼的.bash_profile qsub作業。我可以不使用源代碼qsub:.bash_profile

+0

爲什麼避免加載bash_profile對您來說很重要? – 2012-03-24 02:48:50

+0

我想寫一個qsub腳本供公衆使用,但也許是某些人的本地env的bash_profile或bashrc。會與qsub工作發生衝突。 – user1289405 2012-03-24 03:35:07

回答

0

如果你能想出如何將參數傳遞給bash本身,那麼你正在尋找的是--noprofile。但是我對qsub並不熟悉,並且快速瀏覽一下手冊,因爲它並沒有告訴我如何做到這一點。你能指定你的作業以什麼方式運行嗎?

+0

qsub有一個選項-S 「-S選項允許用戶指定將被調用來處理批處理作業的腳本的程序(通常是一個shell)。」 也許我可以使用「qsub -S/bin/bash --noprofile」,但qsub無法識別/ bin/bash和--noprofile之間的空間。 – user1289405 2012-03-24 03:24:42

+0

你試過'qsub -S'/ bin/bash --noprofile'嗎? (用引號使參數變成-S只是一個字符串?我不確定它會起作用,但它可能會起作用。 – 2012-03-24 09:46:47

2

我認爲有許多不同的qsub命令,與不同的批處理系統相關聯。告訴我們你正在使用哪個批處理系統會很有用。

我記得,大多數這樣的系統設置了一個或多個環境變量,您可以在您的.bash_profile中測試。我使用的系統要麼設置爲$ENVIRONMENT"BATCH",要麼設置$PBS_ENVIRONMENT"PBS_BATCH"。 (那些可能已經過時;檢查你的文檔)。

您可以修改您的.bash_profile做這樣的事情:

if [ "$ENVIRONMENT" != "BATCH" ] ; then 
    # existing code here 
fi 

所以你.bash_profile仍在採購,但如果它的運行它不會做任何事情在批處理環境中。

這很容易修改,所以一些命令仍然執行。

相關問題