簡體   English   中英

如何迭代 bash 腳本來運行命令?

[英]how to iterate bash script to run command?

我試圖在幾年內將多個文件夾從一個 s3 存儲桶復制到另一個存儲桶

aws s3 sync s3://bucket_one/2022XX s3://bucket_two/2022XX (XX is 01 to 12)

我在bucket_one下有文件夾,例如 202201、202202 等等,其他年份也是如此。

我可以創建任何運行數月或數年的 shell 腳本來將數據復制到bucket_two嗎?

我是 shell 腳本的新手,我知道如何運行循環,但不確定使用占位符。

有什么幫助嗎?

您可以使用for循環和變量替換(也稱為參數擴展)來做到這一點。 您可以在此處的官方手冊中閱讀更多相關信息,但我個人覺得閱讀這樣的內容更容易。

無論如何,對於您的具體情況,您可以嘗試這樣的事情:

for month in {01..12}; do
    aws s3 sync s3://bucket_one/2022$month s3://bucket_two/2022$month
done

如果某些東西不起作用,要進行調試,您可以echo顯命令。 前任:

for month in {01..12}; do
    echo "aws s3 sync s3://bucket_one/2022$month s3://bucket_two/2022$month"
done

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM