Я думаю, что ваш файл1 и файл2 разные. Чтобы проверить это, просто наберите:
cksum $file1 $file2
Они должны иметь одинаковую длину и одинаковую контрольную сумму. Если нет, то они разные.
Я также предполагаю, что ваши два файла имеют разные соглашения о конце строки: file1 имеет окончания строки DOS (конец строки 2 байта, т.е.), и file2 имеет конец строки Unix (конец строки одного байта, т.е.).
Когда вы открываете их в редакторе, они могут выглядеть одинаково. На самом деле, представление окончания строки отличается. Unix обрабатывает так же, как другие символы, и поэтому с этим дополнительным символом «true» становится «true \ r», и он не может найти команду с именем «true \ r».