쉘이 인수를 구문 분석할 수 없습니다.

쉘이 인수를 구문 분석할 수 없습니다.

아래 쉘 스크립트에 매개변수를 전달하고 있습니다../script.sh pan.tgz 192.168.3.1 ABCXYZ

#!/bin/sh
echo $1 $2 $3
file=$1
host=$2
key=$3

curl -kv -o ${file} 'https://${host}/api/?type=export&category=device-state&key=${key}'

하지만 오류가 발생합니다컬: (6) 호스트를 확인할 수 없습니다: $host

답변1

이것고급 Bash 스크립팅 가이드5장에서 언급한 것처럼 작은 따옴표 안에는 의 특별한 의미가 $꺼지므로 변수 확장이 수행되지 않습니다. curl매개변수를 " ... "작은따옴표 대신 큰따옴표로 묶을 수 있습니다 .

관련 정보