2012-09-14 2 views
0
나는 디렉토리에있는 파일을 발견하려고 노력하고 다른 곳으로 복사

복사, 이건 내 스크립트입니다? 그는 어떤 파일도 찾지 못할 것입니다 ... 아마도 그것이 따옴표로 된 것 같아요.리눅스 파일을 찾을 디렉토리

아무도 도와 줄 수 있습니까?

감사

+1

디버그 팁 : shebang을'#!/bin/bash -x'로 변경하고 출력을 조사하십시오. –

+0

@Fredrik : 대신'set -x'를 사용하는 것이 더 좋습니다. –

+0

사실,하지만 [KISS] (http://en.wikipedia.org/wiki/KISS_principle)까지 –

답변

3

보십시오이 :

출력
#!/bin/bash 
# fileSearch 

array=(a b c d) 

for var in array 
do 
    echo $var 
done 

: 즉

array 

, 당신은 단지 하나의 단어 "배열"를 포함하는 단어 목록을 통해 반복하고 . 올바른 버전 (변수를 참조하는 의미)를 $ -symbol를 배열을 확장하고 추가해야합니다 :

#!/bin/bash 
# fileSearch 

array=(a b c d) 

for var in ${array[@]} 
do 
    find ~/ -name "$var*" -exec cp {} ./test/ \; 
done 

또한, 즉 당신의 변수를 인용 좋은 습관, 당신은 $var 같은 변수를 사용할 때마다 사용 "$var" 대신 이렇게하면 변수에 공백이 포함 된 문자열 (또는 기타 "이상한"기호)이 포함되어있어 단일 문자열로 처리해야하는 경우 많은 문제를 방지 할 수 있습니다.

관련 문제