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的变量有无双引号,意义不是一样的吗?

求大神指导

1个回答

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问