Я пытаюсь запустить скрипт, который открывает новый терминал для пользователя, который получен из другого файла.
Мой код выглядит так:
os.system("gnome-terminal 'bash -e -c \"source " + path_to_file + "\"'")
Да, он открывает консоль, которая также остается открытой, но я хочу также, чтобы консоль была загружена в определенный файл.
Я также выполнил тест с запуском команды с исходной информацией, находящейся в этой строке, и это сработало. Но если я попытаюсь запустить его и сделать то же самое, он не будет работать.
Надеюсь, кто-то может сказать мне, как я могу сделать так, чтобы терминал открыл пользователю и что он был получен.
Это почти кросс-сайт, https://serverfault.com/questions/368054/run-an-interactive-bash-subshell-with-initial[CN01meommands-without-returning-to-the
Проблема двоякая:
-e
- флаг для терминала gnome, а не bash. Поскольку гном игнорирует вас.-c
выйдет сразу после запуска команды.Это то, что вы хотите:
os.system("gnome-terminal -e 'bash --init-file {}'".format(path_to_file))
На стороне примечание, использование format
менее важно в моей строке, но ваш бы выиграл от этого больше. Также вы можете использовать """
как цифру 3d, чтобы вы могли использовать как "
и '
внутри.
path_to_file
и жесткого кодирования в источнике?