2012-03-24 4 views
1

qsub를 사용하여 많은 작업을 제출하면 qsub는 처음에는 .bash_profile을 제공합니다. 어떻게하면 소스 .bash_profile없이 작업을 qsub 할 수 있습니까?소스없이 qsub 할 수 있습니다 .bash_profile

+0

왜 bash_profile을로드하지 않는 것이 중요합니까? –

+0

공용 사용을 위해 qsub 스크립트를 작성하려고하지만, 아마도 일부 사람들의 로컬 env의 bash_profile 또는 bashrc를 쓰려고합니다. qsub 작업과 충돌합니다. – user1289405

답변

0

bash에 인수를 전달하는 방법을 알아낼 수 있다면 찾고있는 것은 --noprofile입니다. 그러나 나는 qsub에 익숙하지 않았고, 매뉴얼을 한 눈에 보았을 때 어떻게해야 하는지를 알지 못했습니다. 어떻게 든 당신의 일이 어떤 쉘에서 실행되는지 지정할 수 있습니까?

+0

qsub에는 하나의 옵션 -S이 있습니다. "-S 옵션을 사용하면 사용자가 일괄 작업의 스크립트를 처리하기 위해 호출되는 프로그램 (일반적으로 셸)을 지정할 수 있습니다." 아마도 "qsub -S/bin/bash --noprofile"을 사용할 수 있지만 qsub는/bin/bash 및 --noprofile 공간을 인식 할 수 없습니다. – user1289405

+0

'qsub -S '/ bin/bash --noprofile''을 시도 했습니까? (인용 부호를 사용하여 -S에 인수를 지정하면 단 하나의 문자열이 될 수 있습니까? 확실하지는 않지만 작동 할 수도 있습니다. –

2

다른 배치 시스템과 관련된 많은 다른 qsub 명령이 있다고 생각합니다. 사용중인 배치 시스템을 알려주는 것이 유용 할 것입니다.

대부분의 그런 시스템은 하나 이상의 환경 변수를 설정하여 .bash_profile에서 테스트 할 수 있습니다. 내가 사용한 시스템 중 $ENVIRONMENT"BATCH"으로 설정하거나 $PBS_ENVIRONMENT"PBS_BATCH"으로 설정하십시오. (사람들은 무용지물이 될 수있다 당신의 설명서를 참조하십시오.)

당신은 이런 일을 수행하기 위해 .bash_profile을 수정할 수 :

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

그래서 당신의 .bash_profile 여전히 공급됩니다하지만 실행중인 경우는 아무것도하지 않습니다 배치 환경에서.

수정하기가 쉽습니다. 일부 명령이 여전히 실행됩니다.

관련 문제