Mam skrypt bash, który wysyła kilka powiadomień do Slacka za pośrednictwem CURL i odradza oczekiwany skrypt.
Kiedy uruchamiam skrypt za . scriptName.sh
jego pośrednictwem , działa dobrze, ale kiedy go uruchamiam, wpisując ./scriptName.sh
części CURL, nie powiodło się z komunikatem o błędzie:
protocol $https not supported or disabled in libcurl
Oto podstawowy plik:
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"
export https;./scriptName.sh
i zobacz, czy to coś zmieni.
$
przed adresem URL? W bash wywołuje to lokalizację łańcucha; w innych skorupkach ... kto wie? Mówiąc o tym, twój skrypt naprawdę powinien zaczynać się od linii shebang #!/bin/bash
.
.
wydaje się, że plik wykonuje się, nawet jeśli można go tylko odczytać. Wykonanie skryptu naprawiło mój problem, ale spróbowałbym twoich sugestii, gdyby nie zadziałało.
chmod a+x scriptName.sh
..
Polecenie wymaga jedynie, że skrypt jest czytelny.