2012-03-14 16 views
1

私はファイルを解凍してからamazon s3に直接同期できるように、いくつかのターミナルコマンドを連鎖しようとしています。ここで私はこれまでにs3cmdツールを正しくインストールして動作させています。これは私のために働く。マッキントッシュの端末スクリプト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応答これは明らかにチェーンのため、私はちょっと私はこのようなシンプルなタイプの何かを書くことができるスクリプトを書いたかった新しい$ s3の:/ /バケツ;だから、彼らは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が格納されている場所でスクリプトを提供する必要があります。ほとんどのUnixシステムでは/ bin/bashですが、Mac OS Xで同じかどうかわかりません。ターミナルでどのコマンドを呼び出すかを学ぶことができます。

→ which bash 
/bin/bash 

スクリプトを実行するために実行可能な特権を与える必要があります。

chmod +x mysync 

コマンドラインから呼び出すことができます。

mysync url_to_download s3_address 

ps2;私は上記のコードをテストしていませんが、そのアイデアはこれです。お役に立てれば。