2012-03-14 2 views
1

일부 터미널 명령을 함께 연결하여 파일을 wget하고 amazon s3에 직접 동기화 할 수 있습니다. 여기에 내가 지금까지 내가 s3cmd 도구를 제대로 설치하고 작업을했습니다. 이것은 나를 위해 작동합니다.Mac OS X에서 터미널 스크립트 연결하기

mkdir extract; wget http://wordpress.org/latest.tar.gz; mv latest.tar.gz extract/; cd extract; tar -xvf latest.tar.gz; cd ..; s3cmd -P sync extract s3://suys.media/ 

어떻게 간단한 스크립트를 만들면 변수를 사용할 수 있습니까?

+0

전자가 안전하기 때문에';'대신'&&'를 사용해야합니다 (연결 프로세스가 0을 반환하는 경우에만 계속됩니다). 자세한 내용은 http://biodegradablegeek.com/2009/06/bash-tips-for-power-users를 참조하십시오. – Jwosty

+0

또한 _do_ 변수를 사용 하시겠습니까? – Jwosty

+0

안녕하세요 jwosty 응답이 분명히 따라서 체인에 새로운 주셔서 감사합니다, 나는 간단한 동기화 할 수있는 간단한 스크립트를 쓰고 싶었어요 $ sync url s3 : // bucket; 그래서 그들이해야 할 일은 URL과 버킷을 삽입하는 것이고, 전체 다운로드와 s3으로 업로드가 이루어지면 이것이 의미가 있기를 바랍니다. – DCHP

답변

1

아마 bash scripting을보고 싶을 것입니다. 이 가이드는 많은 도움을 드릴 수 있습니다. http://bash.cyberciti.biz/guide/Main_Page

;

mysync라는 파일을 생성

,

#!/bin/bash 
mkdir extract && cd extract 
wget $1 
$PATH = pwd 
for f in $PATH 
do 
    tar -xvf $f 
    s3cmd -P sync $PATH $2  
done 

$ 1, $ 2는 당신이 당신의 스크립트를 호출하는 매개 변수입니다. 명령 줄 매개 변수를 사용하는 방법에 대한 자세한 내용은 여기를 참조하십시오. http://bash.cyberciti.biz/guide/How_to_use_positional_parameters

ps; #!/bin/bashnecessity입니다. bash가 저장되는 스크립트를 제공해야합니다. 대부분의 유닉스 시스템에서는/bin/bash이지만 Mac OS X에서는 같은지 확실하지 않다. 터미널에서 어떤 명령을 호출하여 배울 수있다.

→ which bash 
/bin/bash 

스크립트를 실행할 권한을 스크립트에 부여해야합니다.

chmod +x mysync 

다음 명령 줄에서 호출 할 수 있습니다.

ps2; 위의 코드를 테스트하지는 않았지만 생각은 이것입니다. 이것이 도움이되기를 바랍니다.