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 回答