cp setattrlist Отказано в разрешении на MacOS

Самый простой способ убедиться, что все цитирование выполнено правильно, — это заставить оболочку сделать это за вас, используя declare -fдля генерации текстового представления уже -локально -определенной функции, и declare -pдля создания текстовых представлений любых локальных переменных, к которым функция нуждается в доступе. Таким образом:

doRemoteWork() {
  jq -Rn --argjson original_doc "$(<nodes.json)" '
    input | split("\u0000") as $ips
    | $original_doc
    |.nodes.app.ip = $ips[0]
    |.nodes.data.ip = $ips[1]
    |.nodes.analysis.ip = $ips[2]
    |.nodes.elastic_kafka_1.ip = $ips[3]
    |.nodes.elastic_kafka_2.ip = $ips[4]
    |.nodes.elastic_kafka_3.ip = $ips[5]
    |.nodes.master.ip = $ips[6]
  ' < <(printf '%s\0' "${GCP_INSTANCES[@]}") >"nodes.json.$$" \
  && mv "nodes.json.$$" nodes.json
}

ssh -o StrictHostKeyChecking=no -i key.pem user@172.13.1.23 \
  "$(declare -p GCP_INSTANCES; declare -f doRemoteWork); doRemoteWork"
0
23.05.2021, 21:13
0 ответов

Теги

Похожие вопросы