linux – 在bash中使用带cp的变量

返回的文件将在文件名中包含空格,因此我通过sed运行文件名以在开头和结尾添加引号.但是,当我使用$CF和cp时,它失败了.如果我手动回显$CF并使用生成的文件代替$CF它就可以了.有什么问题?
CF=`ls -tr /mypath/CHS1*.xlsx | tail -1 | sed -e 's/^/"/g' -e 's/$/"/g'`
cp $CF "/mydest/myfile.xlsx"

解决方法

你不需要像这样添加引号(事实上,它可能不起作用).相反,只需在cp行中使用它们:
CF=$(ls -tr /mypath/CHS1*.xlsx | tail -1)
cp "$CF" "/mydest/myfile.xlsx"

我将其从使用反引号更改为较新的(and preferred)$()语法.

相关文章

/etc/sysctl.conf这个目录主要是配置一些系统信息,/etc/sys...
1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起...
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅...
不管是我们在安装软件还是监测软件的使用性能,我们都要随时...
装好Tomcat7后,发现除了本机能访问外界访问不了,岂有此理。...
修改防火墙配置需要修改 /etc/sysconfig/iptables 这个文件,...