실행중인 프로세스의 데이터를 조회하고 싶습니다. 실제로 해당 작업 ID에 대한 스크래치 디렉토리를 찾고 있습니다. 나는 다음과 같은 명령을 수동으로 그렇게 관리 (작업-ID를 가정 12345) : 스크래치 디렉토리에 기록됩니다csh 스크립트에서 작업 디렉토리를 변경하십시오.
/home/username/somefolder/12345.out
:
find ~ -name '12345.out'
는이 작업에 따라 출력 파일을 찾습니다 해당 폴더의 .scrdir라는 파일이므로
cd | cat /home/username/somefolder/.scrdir
내가 원하는 곳으로 데려옵니다. 지금 원하는
내 의 .cshrc에 CSH 스크립트 또는 일부 별칭에 그 결합. 지금까지
내 atempt :
#/bin/csh
set jobfile = `find ~ -name $argv[1].out`
set jobdir = `dirname $jobfile`
set scrdir = `cat $jobdir/.scrdir`
echo $scrdir
첫 번째 인수 값이 작업-ID이며, 12345 예를 들면, 이 스크립트는 올바른 스크래치 디렉토리를 인쇄하지만 스크립트를 호출 한 후 실제 작업 디렉토리를 스크래치 디렉토리로 변경하려고합니다. csh 스크립트에서 작업 디렉토리를 변경하려면 어떻게해야합니까?
/title에 대한 질문을 수정하는 데 도움이되는 정보에 감사드립니다.
그것은 정확하게 당신이 원하는 것을 나에게 entirly 분명하지 않다, 또는 정확히 문제입니다. 나는 당신이 이미 (비 작동) 시도를했다고 생각하니? 아마도이 질문을이 질문에 추가해야합니다. 아마도 문제가 어디에 있는지 명확하게 알 수 있기 때문입니다. – Carpetsmoker
'pushd'와'popd'로 디렉토리를 변경하려고했으나 스크립트가 끝나면 디렉토리 스택이 재설정됩니다. (분명히 각 서브 쉘은 자신의 디렉토리 스택을 가져옵니다.) – tmartin