开发者社区> 问答> 正文

shell脚本变量加双引号报错,不加没有问题!!奇怪 ?报错

因为工作需要,要写一个自动部署的脚本
初学者,第一次写一个脚本

遇到一个想不通的问题

backupDir="~/backup"
deployDir="~/uci-data"
baseName="uci-data"
suffix=date +%Y%m%d

cp -r ${deployDir} -T ${backupDir}/${baseName}${suffix}
报错的问题是 cp cannot stat....
找不到文件夹,将deployDir="~/uci-data"去掉双引号,
改为deployDir=~/uci-data
报错 cp找不到目标文件将backupDir="~/backup"去掉双引号,
改为backupDir=~/backup

就没有问题了

但在脚本的其他地方,我也大量用了变量作为路径,有双引号,都不会有问题,
很奇怪,百思不得其解,shell的变量有无双引号,意义不是一样的吗?

求大神指导

展开
收起
爱吃鱼的程序员 2020-06-23 13:47:42 504 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    http://www.linuxidc.com/Linux/2015-02/113500.htm

    2020-06-23 13:47:58
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Shell 脚本速查手册 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载