我有一个类似的代码片段
GCP_REGION="us-central1"
BUCKET_NAME="$(case $GCP_REGION in us*) echo "foo-bar-us";;asia*) echo "foo-bar-asia";;europe*) echo "foo-bar-eu";;*) echo "unknown GCP region";exit 1 ;; esac)";
现在,有没有办法将echo
的输出保存到BUCKET_NAME,而将其传递到下一个命令rclone mount gcs:$BUCKET_NAME /foo/bar
在rclone
中使用$BUCKET_NAME
是失败的,使用DRY原理时,我希望根本不使用$BUCKET_NAME
。
这是我的解决方案:
case $GCP_REGION in us*) echo "foo-bar-us";;asia*) echo "foo-bar-asia";;europe*) echo "foo-bar-eu";;*) echo "unknown GCP region";exit 1 ;; esac | xargs -I '{}' rclone mount gcs:{} /foo/bar