1

このスクリプトを少し前に作成しましたが、正常に機能しましたが、何らかの理由で、cygwinの11行目に「あいまいなリダイレクト」エラーメッセージが表示されます。

#!/bin/bash
cd 'my/file/path'
INPUT= ./Students.csv
OLDIFS=$IFS
IFS=,
[ ! -f $INPUT ] && { echo "$INPUT file not found"; exit 99; }
while read flname
do
    cp Rubric.pdf ./Grades/$flname_rubric.PDF

done < $INPUT
IFS=$OLDIFS

私はここで何が間違っているのですか?

4

2 に答える 2

3

すでに述べたように、スペースを削除します。だから行は読むINPUT=./Students.csv

$INPUT を "" で囲み、読み取りますdone < "$INPUT"

echo "cp Rubric.pdf ./Grades/$flname_rubric.PDF"while ループが動作していることを確認できるように追加しました。

#!/bin/bash
INPUT=./Students.csv
OLDIFS=$IFS
IFS=,
[ ! -f $INPUT ] && { echo "$INPUT file not found"; exit 99; }
echo "While "
while read flname
do
    echo "cp Rubric.pdf ./Grades/$flname_rubric.PDF"
    cp Rubric.pdf ./Grades/$flname_rubric.PDF
done < "$INPUT"
IFS=$OLDIFS
于 2012-10-31T20:56:01.053 に答える
2

等号の後にスペースを削除してみてくださいINPUT=

于 2012-10-31T20:51:55.940 に答える