2015-11-19 62 views
0

我正在尝试编写一个脚本来移动常用文件夹中的某个文件。 基本上我有n个文件夹,每个文件夹中都有一个名为xmu.dat的文件;我想将这些文件复制到不同的文件夹中以更改其名称。将文件移动到不同的文件夹中更改名称

这是我想出了(我以前从未写过剧本......)的代码,但我得到了一些错误:

echo "Folders found:" 
for folder in */ 
do 
    echo "$folder" 
    name = ${folder//[\/]/} 
    cp ./"$folder"/xmu.dat ./OutputFiles/name 
done 
+0

你能打印你的错误? –

+2

你会得到什么错误?考虑在http://www.shellcheck.net/上粘贴代码来查看一些('name = $ {...}'是错误的,例如,'='周围没有空格)。 – fedorqui

+0

谢谢!空间是第一个错误。现在我没有得到任何错误,它似乎工作。有没有办法在复制之前检查文件是否存在? – gabelach

回答

2

正如fedorqui说,你的代码的问题是存在'='周围的空格。

如果您要检查文件是否存在,你可以用“-f”选项,如:

if [ -f "$file" ] 
then 
    echo "$file found." 
else 
    echo "$file not found." 
fi 
+0

非常感谢! – gabelach

相关问题