가동 시간 출력을 HTTPS 주소의 cURL 게시물에 게시하려고합니다. 문제는 -d 옵션에서 “message =”앞에 출력을 보내야한다는 것입니다. 아래 명령을 실행할 때마다 다음이 표시됩니다. -bash : @-: command not found
echo "time=`uptime`" | curl -X POST "https://url/hook/abcd123" -d "message=`@-`"
POST를 보내는 URL의 필수 메시지 = 필드에 cURL @-를 포함시키는 방법에 대한 아이디어가 있습니까?
답변
백틱
`@-`
Bash에 특별한 의미가 있습니다. 그것들은 명령 대체이며, Bash는 @-
그 출력 을 실행 하고 명령 줄에 삽입 하려고 시도합니다 . 당연히 @-
유효한 bash 명령이 아니기 때문에 작동하지 않습니다 . 또한 STDIN과 텍스트를 결합하는 방법은 어쨌든 작동하지 않습니다. 시험
time=`uptime` && curl -X POST "https://url/hook/abcd123" -d "message=$time"