Вы никогда не говорили, какой пролог-переводчик вы используете.
Этот код работает для Edinburgh-совместимой версии Prolog,
SWI-Пролог (на Fedora) в моем случае.
если у вас есть файл hello.pl:
hello_world :- write('Hello World!').
тогда
consult('hello').
qsave_program(hello,[stand_alone(true),goal(hello_world)]).
выйти из интерпретатора и в оболочке:
$chmod +x hello
./hello > output_file
он не возвращается в оболочку, когда это сделано, поэтому вам нужно найти способ проверить, закончилась ли ваша программа или нет, а затем нажмите Ctrl-d и проверьте свой выходной файл
надеюсь, это поможет