텔레그램의 컬 메시지에 여러 줄의 변수 값을 넣습니다.

텔레그램의 컬 메시지에 여러 줄의 변수 값을 넣습니다.

$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 옵션을 사용하는 것으로 충분합니다.

관련 정보