Я пытаюсь реализовать программу оболочки в среде Linux. Часть, с которой у меня возникают проблемы, - это чтение setup_file внутри оболочки перед запуском оболочки, чтобы делать такие вещи, как установка переменных среды.
В настоящее время оболочка имеет функцию parser_results = parse(), которая выполняет «getchar» и ждет, пока пользователь не введет что-то в стандартный ввод, а затем выполняет команду execute(parser_result), которая выполняет команду, используя вывод анализатора.
Что я хочу сделать, так это прочитать файл setup_file, в котором есть команды, заставить синтаксический анализатор прочитать их и предоставить мне нужные мне структуры данных. Затем я могу запустить execute.
Мой вопрос: как перенаправить содержимое файла на стандартный ввод? И как мне вызвать синтаксический анализатор для анализа этого перенаправленного ввода? Я играл с dup и dup2 безрезультатно.