中的单引号
-H 'Client-ID: $clientid'
显然是错的,
作为
$clientid
不是那样扩展的。
改用双引号。
顺便说一句,你不需要
[[ $VAL == *"not found"* ]]
,
您可以使用的退出代码直接编写条件
grep
for username in $list
do
sleep $sleep
if curl -H "Client-ID: $clientid" -s "$host$username" | jq -r .message | grep -qE "unavailable|not found"; then
echo "$username is available"
echo "$username" >> available.names
else
echo "$username is reserved"
fi
done
正如@CharlesDuffy在评论中指出的那样
echo -e
没有意义,所以我也删除了。
他还以书面形式指出了代码的气味
for username in $list
,
而不是使用适当的数组。(
list=( allison bob charlie ); for username in "${list[@]}"; do ...
)