2

我正在编写一个简单的评分脚本时遇到问题。我有一个名为 HW5 的目录,其中包含班级中每个学生的文件夹。从包含 HW5 文件夹的当前目录中,我想将所有以单词 mondial 开头的文件复制到每个学生的文件夹中。我的脚本运行但不会复制任何文件。有什么建议么?

#!/bin/bash                                                                                                         

for file in ./HW5; do
    if [ -d $file ]; then
        cp ./mondial.* ./$file;
    fi
done

谢谢,

4

1 回答 1

10

第一个循环只执行一次,file等于./HW5。添加星号以实际选择其中的文件或目录。

#!/bin/bash                                                                                                         

for file in ./HW5/*; do
  if [ -d "$file" ]; then
    cp ./mondial.* ./"$file"
  fi
done

正如 Mark Reed 所建议的,这可以简化:

for file in ./HW5/*/; do 
  cp ./mondial.* ./"$file"
done
于 2013-02-25T22:13:11.340 回答