字符串和数组之间有连接问题
我要复制数组中存储的目录中包含的所有文件,我的命令处于循环中(以递归方式复制我的文件)
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
最佳答案
这对我有效
#!/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'
不知道确切的区别,但希望这会有帮助。
关于linux - 将字符串与数组连接以递归复制bash中的文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52956143/