как настроить слабую полезную нагрузку

Я пытаюсь интегрировать слабину с одним из моих сценариев оболочки. У меня разные условия, для которых часть сообщений в сообщении отличается.

Мой скрипт будет выглядеть так:

#!/bin/bash SLACK_URL='https://hooks.slack.com/services/****** CHANNEL="#channel" PAYLOAD="'payload={\"channel\": \"${SLACK_CHANNEL}\", \"username\": \"${USER}\", \"text\": \"$MESSAGE\", \"icon_emoji\": \":slack:\"}" 

Случай 1: условие:

  curl -s -S -X POST --data-urlencode "$PAYLOAD" $SLACK_URL 

Случай 2: условие

  curl -s -S -X POST --data-urlencode "$PAYLOAD" $SLACK_URL 

Случай 3: условие

  curl -s -S -X POST --data-urlencode "$PAYLOAD" $SLACK_URL 

В каждом случае Мое Послание должно быть другим. Я пытаюсь избежать объявления полезной нагрузки каждый раз с помощью специального сообщения, ища опцию, где я могу разобрать свое пользовательское сообщение на мою полезную нагрузку. Помоги пожалуйста.

  • $ _ vs! $. Последний аргумент предыдущего перенаправления команды и вывода
  • Работает ли функция escaping?
  • Вызвать функцию .bashrc из сценария оболочки bash
  • Определение функции печати POSIX
  • получить значение после определенного слова
  • расширять псевдонимы перед вызовом / usr / bin / time
  • Переменная восклицательного знака `$!`
  • Я использую `history -c` очистить историю, почему первый идентификатор команды не начинается с` 1`?
  • One Solution collect form web for “как настроить слабую полезную нагрузку”

    Вы можете создать свой $PAYLOAD по частям на основе ваших условий:

     PAYLOAD="payload={" PAYLOAD="$PAYLOAD\"channel\": \"${SLACK_CHANNEL}\"," PAYLOAD="$PAYLOAD\"username\": \"${USER}\"," case $MESSAGE_TYPE in 1) PAYLOAD="$PAYLOAD \"text\": \"$MESSAGE1\"," ;; 2) PAYLOAD="$PAYLOAD \"text\": \"$MESSAGE2\"," ;; 3) PAYLOAD="$PAYLOAD \"text\": \"$MESSAGE3\"," ;; esac PAYLOAD="$PAYLOAD \"icon_emoji\": \":slack:\"" PAYLOAD="$PAYLOAD}" curl -s -S -X POST --data-urlencode "$PAYLOAD" $SLACK_URL 

    В качестве альтернативы вы могли бы Bash лениво оценить $PAYLOAD с eval только вы правильно установили $MESSAGE .

     PAYLOAD_PATTERN='payload={\"channel\": \"${SLACK_CHANNEL}\", \"username\": \"${USER}\", \"text\": \"$MESSAGE\", \"icon_emoji\": \":slack:\"}' MESSAGE=... eval "PAYLOAD=\"$PAYLOAD_PATTERN\"" curl -s -S -X POST --data-urlencode "$PAYLOAD" $SLACK_URL 

    Это общий шаблон в программировании оболочки. Обратите внимание, однако, что если какая-либо часть переменных, расширенная как часть $PAYLOAD_PATTERN включает недоверенный ввод, использование eval таким образом может привести к проблемам безопасности, поскольку противник, который имеет возможность влиять на любую часть произвольного ввода, может использовать это для получить произвольные возможности выполнения кода в системе, выполняющей скрипт.

    Interesting Posts

    Ошибка перенаправления Sub Shell с переменной (while …) $ 3> $ testdir / $ testfile.log

    supervisord в качестве сторожевого пса для различных служб

    Как клонировать сервер CentOS для виртуальной машины?

    Форматирование вывода: Подчеркивание

    Где находится документация по первичным событиям?

    Перечислить метки разделов из командной строки

    Вычисление стандартного отклонения с известным средним значением

    Получать поп-идентификатор или IP-адрес, когда клиент регистрируется на сервере Dovecot

    Нажатие вкладки после файла сценария sourcing печатает результат, связанный с скриптом

    Возможности для скрипта в Linux

    Как определить, какие файлы необходимы в / bin, / lib, / var и т. Д.?

    Сортировка процессов путем использования памяти

    Grep, который показывает линию рисунка и соответствующую строку

    Записывается в FrameBuffer / dev / fb0, похоже, не меняется графический экран

    Полный доступ пользователя группы / var / www / html

    Linux и Unix - лучшая ОС в мире.