Komut dosyanızın DOS tarzı satır sonları olabileceğinden şüpheleniyorum. DOS'ta (ve Windows), bir metin dosyasının her bir satırı satır başı ( veya farklı şekilde \rveya ile temsil edilir ^M) ardından satır satırına ( \nveya ^J) gelir. Unix metin dosyaları ise diğer satırlardaki satırları yalnızca satır beslemeyle sonlandırır. Bir unix aracı (bash gibi) DOS formatlı bir dosya verirseniz, satırbaşının satırın bir parçası olarak yorumlanmasını sağlar ve oldukça karışık olur. Bu durumda, bana FILE'in gerçekten /u0146121/bin/list.txt^Mvar olduğu, var olmadığı ve kabuk sorunu bildirdiği zaman taşıyıcı dönüşü terminali şaşırttığı ve hata mesajının sonunun baştan üzerine basıldığı gibi görünüyor.
Kontrol etmek için, betiğinizi yazdırmayı deneyin cat -v /path/to/script- satırların sonunda ^ M görüyorsanız, bir DOS format dosyanız vardır. (Örneğin bu olabilir Sisteminiz muhtemelen çevirmek için bir komut vardır, ama komut adı değişir dos2unixya fromdos... ya). İlgili bir komut bulamazsanız, bu önemsiz perl komut dosyasını kullanabilirsiniz:
perl -pi -e 's/\r//g' /path/to/script
echosonra bir saniye eklemeyi denediniz mi?echo $line; echo. Sorununuzu çözmez, ancak tam hata iletisini görmenize izin verebilir. Komut dosyanızla ilgili muhtemelen dosya adından başka hiçbir yanlış göremiyorum.