프로그램 명령줄에서 파일 경로를 지정하세요.

프로그램 명령줄에서 파일 경로를 지정하세요.

나는 Diamond라는 프로그램을 사용하고 있으며 다음과 같은 스크립트가 있습니다.

CD /srv/스크래치/내 이름/안녕하세요
다이아몬드 폭발 -d /srv/scratch/내 이름/goodbye/inputFile1.dmnd -q inputFile2.faa -o /diamond/outputFile.txt
내 작업 디렉토리() inputFile2.faa에 하나가 있고 다른 디렉토리에 또 하나가 있습니다 . 이것은 거대한 파일이고 다른 명령줄에서 사용되고 있기 때문에 비실용적이므로 현재 작업 디렉터리로 옮기고 싶지 않습니다./srv/scratch/myname/helloinputFile1.dmndinputFile1.dmnd

이 명령줄을 실행하면 "해당 파일이나 디렉터리가 없습니다"라는 메시지가 나타납니다. inputFile1.dmnd중립 디렉터리에 저장할 수 있도록 절대/상대 경로를 지정하는 방법이 있습니까 ?

이 질문에 대한 대답이 나에게도 도움이 되기를 바라지만, outputFile.txt내 작업 디렉토리와 관련하여 어느 디렉토리에 넣을지 지정하고 싶습니다.

답변1

이것이 실제 경로라고 가정하면 문자에 문제가 있을 가능성이 높습니다 #.

옵션:

#1) 가능하다면 파일이나 디렉토리 이름에 사용하지 마십시오. 따라서 이름을 /srv/scratch/#다른 것으로 바꾸 /srv/scratch/hash십시오(예: 이스케이프 처리(아래 참조)).

2) #백슬래시로 탈출:

diamond blastp -d /srv/scratch/\#/goodbye/inputFile1.dmnd -q inputFile2.faa -o /diamond/outputFile.txt

3) 작은따옴표로 전체 파일 이름을 이스케이프 처리합니다.

diamond blastp -d '/srv/scratch/#/goodbye/inputFile1.dmnd' -q inputFile2.faa -o /diamond/outputFile.txt

ls표준 명령(예: 파일 이름과 함께 사용)과 선택적 bash 탭 완성(이스케이프 추가)을 사용하여 이 모든 것을 테스트할 수 있습니다 .

관련 정보