입력 파일을 심볼릭 링크로 사용하여 소프트웨어를 실행합니다.

입력 파일을 심볼릭 링크로 사용하여 소프트웨어를 실행합니다.

수천 개의 파일이 있는 디렉토리가 있고 각 디렉토리의 입력을 복제하지 않고 다른 디렉토리의 동일한 입력 파일을 사용하여 소프트웨어를 여러 번 실행하고 싶습니다. 다음 코드를 사용하여 각 파일 기호 링크에 대한 포인터를 만들었습니다.

ln -s /path/to/bayestraits/*_b.txt /path/to/bayestraits/dependiente_1

디렉토리 구조는 다음과 같습니다

bayestraits
    dependiente_1
    dependiente_2
    dependiente_3

모든 디렉토리에서 다음 코드를 실행하고 싶습니다

for file in *_b.txt; do BayesTraitsV3 cyanomarkers_2.nex $file < Discrete_Dependent.txt ; done

문제는 코드를 실행할 때 출력 파일이 bayestraits 디렉터리, nodependente_1 디렉터리로 리디렉션된다는 것입니다.

답변1

심볼릭 링크 대신 플래그 없이 하드 링크를 만들 수 있습니다 -s.

ln /path/to/bayestraits/*_b.txt /path/to/bayestraits/dependiente_1

기존 심볼릭 링크를 삭제하지 않고 덮어쓰려면 -f(force) 플래그를 사용하세요.

ln -f /path/to/bayestraits/*_b.txt /path/to/bayestraits/dependiente_1

관련 정보