$log
컬을 사용하여 전보 메시지를 보내고 싶습니다 . 변수 값이 단 하나의 행인 경우 작동하지만 curl: (3) Illegal characters found in URL
그렇지 않은 경우(변수 값이 둘 이상의 행인 경우) 오류가 발생합니다.
로그.로그:
>tail -3 /home/name/log.log
sftp> ls -l /home/somefile.txt
/home/somefile.txt
sftp>
주문하다:
log=`tail -3 /home/name/log.log`
curl 'https://api.telegram.org/bot$BOT/sendMessage?chat_id=$channelID&text=Found: $log'
답변1
변수를 확장하려면 POST 요청과 큰따옴표를 사용하세요.
log=$(tail -3 /home/name/log.log)
curl -X POST "https://api.telegram.org/bot$BOT/sendMessage"\
-d chat_id="$channelID" -d text="Found: $log"
-X POST
-d
이는 선택 사항 이며 POST 요청(콘텐츠 유형 application/x-www-form-urlencoded)에는 data 옵션을 사용하는 것으로 충분합니다.