curl ignore --data começando com @ sign: não leia do arquivo

0

Em folga , você pode fazer o script do slackbot para postar mensagens em um canal como este:

curl --data "$msg" $'https://<yourteam>.slack.com/services/hooks/slackbot?token=<yourtoken>&channel=#random'

Agora, gostaria de mencionar um nome de usuário como a primeira parte da mensagem, como msg="@joernhees hello self" .

O problema é que, se o argumento --data de curl iniciar com um sinal @ , ele interpretará a sequência após o @ como nome do arquivo e publicará seu conteúdo. Existe uma maneira de fazer o curl ignorar o sinal @ e enviar um literal @ como o primeiro caractere de uma solicitação de postagem?

    
por Jörn Hees 03.06.2015 / 15:37

1 resposta

0

Na verdade, acabei de descobrir que posso fazer isso (não sei se é a melhor opção):

curl --data '@-' $'https://<yourteam>.slack.com/services/hooks/slackbot?token=<yourtoken>&channel=#random' <<< "$msg"

O truque é dizer ao curl para ler a partir de stdin @- e depois passar a mensagem por meio disso.

    
por 03.06.2015 / 15:37

Tags