我在字符串和数组之间有串联问题 我想复制数组中存储的目录中包含的所有文件,我的命令处于循环状态(以递归方式复制我的文件)
yes | cp -rf "./$WORK_DIR/${array[$i]}/"* $DEST_DIR
我的数组:
array=("My folder" "...")
我在数组中有几个文件夹名称(它们的名称中都有空格),我想将它们附加到$ WORK_DIR上,以便可以复制 cp 的文件。 但是我总是有以下错误
cp: impossible to evaluate './WORKDIR/my': No such files or folders
cp: impossible to evaluate 'folder/*': No such files or folders
答案 0 :(得分:0)
这对我有用
#!/bin/bash
arr=("My folder" "This is a test")
i=0
while [[ ${i} -lt ${#arr[@]} ]]; do
echo ${arr[${i}]}
cp -rfv ./source/"${arr[${i}]}"/* ./dest/.
(( i++ ))
done
exit 0
我运行了脚本。它给了我以下输出:
My folder
'./source/My folder/blah-folder' -> './dest/./blah-folder'
'./source/My folder/foo-folder' -> './dest/./foo-folder'
This is a test
'./source/This is a test/blah-this' -> './dest/./blah-this'
'./source/This is a test/foo-this' -> './dest/./foo-this'
不确定确切的区别,但希望能有所帮助。