如何解决使用 ncatted 时,在 bash 脚本中保留双引号会产生意外结果
找不到这个问题的任何答案,所以我在这里。
我在 bash 脚本中使用 NCO 中的 ncatted 来动态更改 netcdf 中某些变量单元的名称。
ncatted 是这样调用的(注意摄氏度周围的双引号):
ncatted -O -a units,temp2m,o,c,"Celsius" ncfile.nc
为了在我的 bash 脚本中复制最后一个命令:
variables=(temp2m u10)
units=(Celsius Knots)
echo " Setting up new units"
for k in ${!variables[@]};
do
ncatted -O -a units,${variables[$k]},'"'${units[$k]}'"' ncfile.nc
echo ncatted -O -a units,"'"${units[$k]}"'" ncfile.nc
# prints ncatted -O -a units,"Celsius" file.nc
# prints ncatted -O -a units,u10,"Knots" file.nc
done
虽然打印命令到shell看起来没问题,但是在netcdf里面,新的属性会一直这样显示;
units: \"Celsius\"
我尝试了多种单引号、双引号和反斜杠的变体,但我总是得到相同的结果。
虽然这不是世界末日,但真的很烦人,所以我希望知道是否有人对此有很好的解释。
谢谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。