我有一个shell变量$ allpath,其值为
"/opt/in1/InputFile1.csv /opt/InputFile2.csv"
表示,当我回音时,我得到上面的字符串。
现在我尝试执行以下操作:
cp "$allpath" /opt/targetdir
我收到错误:
cp:无法统计'/opt/in1/InputFile1.csv /opt/in2/InputFile2.csv':没有这样的文件或目录
但是当我手动输入
时cp /opt/in1/InputFile1.csv /opt/InputFile2.csv /opt/targetdir
它做副本 那我怎么能用shell变量来做呢?
答案 0 :(得分:1)
引号使shell将其解释为一个文件,显然不存在。放下它们,你应该没问题:
cp $allpath /opt/targetdir
答案 1 :(得分:0)
在支持数组的shell中,使用它们。
allpath=("/opt/in1/InputFile1.csv" "/opt/InputFile2.csv")
cp "${allpath[@]}" /opt/targetdir