2012-12-19 6 views
-1

다음과 같은 문제가 있습니다. 특정 디렉토리를 다른 디렉토리에 완전히 백업하는 스크립트를 만들고 싶습니다. 나는 cp -r이나 다른 재귀 적 명령을 사용할 수 없다. 그래서 while 또는 for 루프를 사용하려고 생각했습니다. 다시 올릴 필요가있는 디렉토리에는 매개 변수가 있습니다.'find'명령을 사용하여 while/for 루프를 사용하여 파일 및 디렉토리 복사

OIFS="$IFS" 
IFS=$'\n' 

for file in `find $1` 
do 
    cp $file $HOME/TestDirectory 
done 

IFS="$OIFS" 

을하지만 그것을 실행할 때,이 내 터미널의 말씀입니다 : 내가 지금까지 가지고있는 이것은 '

find "$1" -type f -print0 | xargs -0 cp -t $HOME/TestDirectory 

돈 : 스크립트 시작 파일은 타이프 라이터

+0

for 또는 loop 대신'xargs -0' 명령을 사용하여'-exec' 매개 변수로'find'를 사용하거나'find -print0'를 사용합니다 에스. – KurzedMetal

+0

그건 내 첫 번째 아이디어 였지만, 나는 그것을 사용하는 것이 허락되지 않았다. – Mavix

+2

이상한 요구 사항, 숙제 같은 것 같습니다. – KurzedMetal

답변

1

이 시도입니다 script 통해 스크립트를 실행! executable 플래그를 추가하기위한 스크립트의

#!/bin/bash 

find "$1" -type f -print0 | xargs -0 cp -t $HOME/TestDirectory 

변경 허가 :

파일의 상단이 (오두막)를 추가

chmod +x myScript 

인수 아 파크 및 localY 스크립트를 실행

./myScript rootDirectoryWhereSearchForFiles 
+0

감사! 그리고 이제 왜 내 터미널에서 "파일이 스크립트"라고 말했는지 알 수 있습니다. 스크립트를 "스크립트"라고 명명했기 때문입니다. – Mavix

관련 문제