我正在嘗試獲取 GCP 區域資訊,并基于該資訊選擇一個 GCS 存盤桶來從中提取資料。腳本看起來像這樣。
#!/bin/bash
set -xe
GCP_REGION=$(curl -sf -H "Metadata-Flavor: Google" http://metadata.google.internal/computeMetadata/v1/instance/zone | cut -d/ -f 4 | sed 's/.\{2\}$//')
BUCKET_NAME="foo-bar-"
case $GCP_REGION in
us*) BUCKET_NAME ="us";;
asia*) BUCKET_NAME ="asia";;
europe*) BUCKET_NAME ="eu";;
*) echo -n "unknown GCP region"; exit 1;;
esac
echo -n $BUCKET_NAME
有沒有辦法將其壓縮為單行陳述句?
uj5u.com熱心網友回復:
擺脫 shebang,;在每個不以;;or結尾的非空行的末尾添加 a in,然后將所有行連接在一起:
set -xe; GCP_REGION=$(curl -sf -H "Metadata-Flavor: Google" http://metadata.google.internal/computeMetadata/v1/instance/zone | cut -d/ -f 4 | sed 's/.\{2\}$//'); BUCKET_NAME="foo-bar-"; case $GCP_REGION in us*) BUCKET_NAME ="us";; asia*) BUCKET_NAME ="asia";; europe*) BUCKET_NAME ="eu";; *) echo -n "unknown GCP region"; exit 1;; esac; echo -n $BUCKET_NAME;
我們必須同意在“看起來整潔”方面不同意:-)。祝你好運!
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/453112.html
