BASH中的反向地理编码-使用变量作为坐标的错误

BASH中的反向地理编码-使用变量作为坐标的错误,bash,reverse-geocoding,Bash,Reverse Geocoding,我试图在下面的代码中使用变量而不是静态坐标,但没有成功 我做错了什么 stored_address=$(curl -s "http://maps.googleapis.com/maps/api/geocode/json?latlng="'${coor1}'","'${coor2}'"&sensor=false" | grep -B 1 "route" | awk -F'"' '/short_name/ {print $4}') 如果我使用坐标而不是两个变量“${coor1}”和“${c

我试图在下面的代码中使用变量而不是静态坐标,但没有成功

我做错了什么

stored_address=$(curl -s "http://maps.googleapis.com/maps/api/geocode/json?latlng="'${coor1}'","'${coor2}'"&sensor=false" | grep -B 1 "route" | awk -F'"' '/short_name/ {print $4}')
如果我使用坐标而不是两个变量“${coor1}”和“${coor2}”,我的旋度可以工作,请有人指出错误,谢谢:)

静态坐标的工作示例:

stored_address=$(curl -s "http://maps.googleapis.com/maps/api/geocode/json?latlng=56.433125,10.07003&sensor=false" | grep -B 1 "route" | awk -F'"' '/short_name/ {print $4}')

您使用的是硬引号,即将变量包装在
中。丢失单引号,变量将正确展开:

stored_address=$(curl-s)http://maps.googleapis.com/maps/api/geocode/json?latlng=${coor1},${coor2}&sensor=false“| grep-b1”route“| awk-F'”/short_name/{print$4}”)
从:

将字符括在单引号(“”)中会保留引号中每个字符的文字值


您使用的是硬引号,即将变量包装在
中。如果丢失单引号,变量将正确展开:

stored_address=$(curl-s)http://maps.googleapis.com/maps/api/geocode/json?latlng=${coor1},${coor2}&sensor=false“| grep-b1”route“| awk-F'”/short_name/{print$4}”)
从:

将字符括在单引号(“”)中会保留引号中每个字符的文字值


谢谢你的意见,我已经试过了,似乎也不起作用,“似乎不起作用”不是一个有用的描述。当使用静态坐标时,字符串存储在“stored_address”中,当使用变量时,此变量为空,并且我使用的坐标与静态示例中的坐标完全相同,应给出相同的结果result@BulletEyeDK嗯,,问题在于坐标变量的填充,因为它不包括在问题中,所以不可能进一步调查。我建议你自己多做一些调查,当你意识到真正的问题时再提出一个新问题。好的,我会这么做;)谢谢你的意见,我已经试过了,似乎也不起作用,“似乎不起作用”不是一个有用的描述。当使用静态坐标时,字符串存储在“stored_address”中,当使用变量时,此变量为空,并且我使用的坐标与静态示例中的坐标完全相同,应给出相同的结果result@BulletEyeDK嗯,,问题在于坐标变量的填充,因为它不包括在问题中,所以不可能进一步调查。我建议你自己多做一些调查,当你意识到真正的问题时再提出一个新问题。好的,我会这么做;)