需要使用 bash 脚本将事件中的一个字段与另一个字段关联

需要使用 bash 脚本将事件中的一个字段与另一个字段关联

我已经完成了大部分需要完成的工作,但仍停留在最后一部分。我需要从以下位置下载该活动这个月,但 url 与活动 ID 相关联,而不是与月份相关联(有道理)。我需要能够将本月与本月的营销活动 ID 关联起来。

我的脚本是这样的:

#!/bin/sh
#Retrieve phishline token
var=$(curl -X POST -H "Content-Type: application/json" -H "Cache-Control: no-cache" -d '{
"bof_ticket_user": "nope",
"bof_ticket_pw": "nopenopenope",
"api_key": "nope-nope-nope-nope-nope"}' 
"https://api.phishline.com/nope/rest/authenticate" | jq -r ."data"."access_token")

#define latest campaign
var2=$(curl -X GET -H "Authorization: Bearer $var" -H "Cache-Control: no-cache" "https://api.phishline.com/nope/rest/campaigns" | jq -r ."data"[-1]."cutoffDate")
#Clean up cutoffDate variable to %Y-%m format
var3=$(echo $var2 | cut -c1-7)
# Assign current date in %Y-%m format
datedit=$("date +%Y-%m")

if datedit == $var3
#download latest campaign
curl -X GET -H "Authorization: Bearer $var" -H "Cache-Control: no-cache" "https://api.phishline.com/nope/rest/campaignresults/$whichvar"

任何人都可以提出任何建议以使其变得更好吗?编辑:希望这能澄清我需要完成的事情:脚本需要下载当前月份的活动数据。当前月份的活动数据是通过将活动列表中的“cutoffDate”与该活动中的 id 字段关联来找到的,以标识本月的活动。这两个字段都显示在其余/营销活动结果中

答案1

您的问题不清楚什么映射到什么,但如果您的 bash 版本 >= 4,您可以使用关联数组:

declare -A mapping=(
    [2019-01]="some-id"
    [2019-02]="some-other-id"
)

mon=$(process that retrieves the YYYY-MM)
campaign_id=${mapping[$mon]}
if [[ -z $campaign_id ]]; then
    echo "no mapping for month $mon"
else
    go fetch with "$campaign_id"
fi

相关内容