컬 명령을 호출하는 bash 스크립트를 작성 중입니다.
#!/bin/bash
while n flag
do
case "${flag}" in
n) name=${OPTARG};;
esac
done
curl -XPOST http://localhost:2468/api/webhook -H 'Content-Type: application/json' --data '{"name":"'"$name"'"}'
그러나 이는 변수를 구문 분석하고 빈 문자열을 보내는 것이 아닙니다. 다음을 시도해도 동일한 결과를 얻습니다.
#!/bin/bash
while u:p:n flag
do
case "${flag}" in
u) unrar=${OPTARG};;
p) path=${OPTARG};;
n) name=${OPTARG};;
esac
done
curl -XPOST http://localhost:2468/api/webhook -H 'Content-Type: application/json' --data "{/"name/":/"$name/"}"
답변1
getopts
스크립트 매개변수를 읽는 것을 잊었습니다 .
while getopts "u:p:n:" flag
do
case "${flag}" in
u) unrar=${OPTARG};;
p) path=${OPTARG};;
n) name=${OPTARG};;
esac
done
또한 매개변수를 원할 경우 "n" 뒤에 콜론을 붙이는 것을 잊지 마세요. 콜론은 -n
바이너리 키 예/아니요로 사용되지 않습니다.