Meu palpite é que é a linha que contém o asterisco (" *
") no seu myfile
.
Você avalia f
de alguma forma e provavelmente tem problemas quando o asterisco é expandido como caractere de correspondência de padrões.
Exemplo:
#!/bin/sh
# while3b.sh
while f='line'
do
echo $f
done < ./myfile
leva a
$ ./while3b.sh
hello
howdy
gday
bonjour
guten tag
您好!
myfile myfile~ while3b.sh
Como meu diretório contém os três arquivos myfile
, myfile~
e while3b.sh
. Você deve examinar o código que você abreviou por "process", o que acontece quando $f
é alimentado com *
.