Я пытаюсь использовать оператор перенаправления с исполнительной командой к входным данным из файла, но это бросает ошибку
sh-4.3$ cat test
hi this is a test
so wait
sh-4.3$ exec <test
sh-4.3$ hi this is a test
sh: hi: command not found
sh-4.3$ so wait
sh: so: command not found
sh-4.3$ exit
Критический момент не является перенаправлением, но содержанием Вашего файла. exec
выполняется Ваш файл. Это означает, это смотрит на содержание Вашего файла и попыток выполнить команды, записанные в нем. Но Ваш файл не содержит команд, о которых знает оболочка.
Это сталкивается hi
, но нет такой команды. Таким образом, это говорит Вам что:
sh: hi: command not found
Затем это пробует следующую строку. Это читает 'так', но нет такой команды. Таким образом, это говорит Вам что:
sh: so: command not found
, Если Вы хотите передать свой файл, как введено программе, необходимо принести ту программу в игру так или иначе. Только бросьте данные в оболочку и надежду на нее для выяснения самостоятельно, что делает с нею ;)