유닉스 명령어 찾기는 내가하고 싶은 것을하지 않습니다. find ../tmp -name "\*tmp\*"
Unix find 명령에 path 인수로 variable을 어떻게 사용할 수 있습니까?
제대로 TMP 폴더
을에서 이름에 "TMP"를 포함하는 파일을 출력하지만 입력 할 때 :
dir=../tmp #assign ../tmp as a variable named dir
find ${dir} -name "\*tmp\*"
는 여기에 내가 입력하면 상황
입니다
출력 결과 : 해당 파일 또는 디렉토리 없음
내 생각 엔 쉼표를 찾습니다. nd는 변수 "dir"을 찾을 파일로 가정합니다. 이 문제를 해결하려면 어떻게해야합니까? 이 사실을 알고 싶은 이유는 스크립트의 경로로 경로를 전달할 수 있기 때문입니다. 감사
----------- 추가 코멘트
나는 bash 쉘을 사용합니다. 혼란을 드려 죄송합니다. 위의 코드가 작동합니다. 실제 문제는 {} 구조를 변수에 통합 할 때입니다. 예를 들어, 나는 입력하면
DIR = ../{tmp1, tmp3} 디렉토리
찾을 $ {DIR} -name "* TMP라는 변수로 #assign ../{tmp1,tmp3} * "
출력 결과 : 해당 파일 또는 디렉토리가 없음 왜 ??
* 게시해야 할 내용 * 꼭 사용해야하는 작업 * 입력 한 명령의 정확한 목록과 정확한 결과를 제공 할 수 있습니까? 어떤 셸을 사용하고 있습니까? – FatalError
입력 한 내용이 저에게 효과적입니다. 변수 expension'$ {dir}'또는 리터럴 문자열'../ tmp'를 사용하든간에 똑같은 출력을 얻어야합니다. 두 명령을 어떻게 & 언제 호출 할 것인가에있어 다른 것이 없다는 것이 확실합니까? 두 경우 모두 현재 작업 디렉토리가 동일합니까? – Celada
어떤 셸을 사용하고 있습니까? tcsh? 세게 때리다? ksh? 아마도 bash 일지 모르지만 구체적이어야합니다. 다른 쉘은 변수를 할당하는 다른 방법을 가지고 있습니다. – ghoti