以下のシェルスクリプトにパラメータを渡しています。./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
これ高度なバッシュスクリプトガイド第5章で述べたように、一重引用符の中では特別な意味がオフになるため、$
変数の拡張は行われません。curl
パラメータを" ... "
一重引用符ではなく二重引用符で囲むことができます。