こんにちは、シェルスクリプトの世界に新しい、いくつかの問題に実行しています。私は2つのAWS S3バケットを呼び出し、アップロードされた最新のファイルをリストするbashスクリプトを書いています。 'long run'では、これらの2つのファイルをダウンロードし、RDS PostgreSQLデータベース内の既存の2つのテーブルにCLIをコピーする必要があります。BashスクリプトでS3バケット最新ファイルを表示
#!/bin/bash
printf "Looking up newest files added...\n";
AUTO= $(aws s3 ls bucketx --recursive | sort | tail -n 1| awk '{print $4}');
IMMO= $(aws s3 ls buckety --recursive | sort | tail -n 1 | awk '{print $4}');
echo AUTO;
echo IMMO;
問題であり、これは私がAWSは、端末に直接コマンドを実行すると、私は、取得しないもので、うまく行くとそれが必要な方法を動作します。 はこれまでのところ、これは私が持っているものです。しかし、スクリプト内で次のエラーが発生します。
Looking up newest files added...
./shellTest.sh: line 6: bucketx/14.9.2016.csv: No such file or directory
./shellTest.sh: line 7: buckety/14.9.2016.csv: No such file or directory
私が間違っていることを誰かに教えてもらえますか?それは論理的な問題なのか、構文的な問題なのか?私は「エコー」コマンドを期待していた 何をAUTOにしたいことは、最新のキーの値
乾杯
ハム..ですこれは私がsaを持っている間に私が(引用符を使って)変更を行うときにローカルで私のために働くので変です私があなたのコードを使用しないで引用符を使用していないときに私のエラーが報告されました –
スクリプトでセミコロンも削除する必要があります、私のメッセージを修正しました –
bashのことですか?私はGNU bashバージョン4.2.46(1)-release(x86_64-redhat-linux-gnu)を実行していますが、セミコロンはまだ削除されていますが、エラーはそのまま続きます。 –