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等しいで1回だけ実行されてい./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 に答える