CURL no script bash funciona com. (espaço de pontos), não ./ (barra de pontos)

0

Eu tenho um script bash que envia algumas notificações para o Slack via CURL e gera um script de espera.

Quando executo o script via . scriptName.sh ele funciona bem, mas quando eu executo digitando ./scriptName.sh , as porções CURL falham com a mensagem de erro:

protocol $https not supported or disabled in libcurl

Este é o arquivo básico:

curl --data "building Dev" $"https://domain.slack.com/services/hooks/slackbot?token=yourTokenHere&channel=%23yourChannelHere"

expect script.exp

curl --data "Dev built" $"https://domain.slack.com/services/hooks/slackbot?token=yourTokenHere&channel=%23yourChannelHere"
    
por General_Twyckenham 19.10.2015 / 18:00

1 resposta

0

Portanto, o script funciona bem quando você o "fonte" (usando ". command"), mas não quando você o executa (usando "./command").

A primeira coisa a verificar é a permissão. Certifique-se de que tem permissões executáveis.

A outra coisa que eu encontrei, que freqüentemente corrige esse tipo de situação, é marcar o arquivo como um script, inserindo o seguinte como a linha mais alta do arquivo:

#!/bin/sh

Naturalmente, se você usar algum recurso específico do shell, deverá especificar qual shell alternativo usar.

    
por 19.10.2015 / 19:26

Tags