Можно ли открыть терминал из окна запуска и использовать '& mdash; запустить команду для создания файла в каком-либо другом каталоге?

Что я хочу сделать, так это запустить терминальную сессию с интерпретатором командной строки python и, далее, запустить файл python с помощью интерпретатора, который файл python может располагать где угодно.

Что я хочу сказать, так это то, что у меня есть файл python demo.py в /home/one/two/

#demo.py
a=10
print("something")

, так что, когда терминал открывается, я вижу сообщение something, за которым следует приглашение консоли.

 something 
 >>>

Мой подход:

gnome-terminal --python -i ~/home/one/two/demo.py

это дает мне следующий результат

python: can't open file '~/Desktop/pydemo/demo.py': [Errno 2] No such file or directory

Однако, когда я запускаю ту же команду с терминала окно (не открывается в том же каталоге, что и файл demo.py), оно работает правильно.

Может кто-нибудь объяснить, что здесь происходит, и, если возможно, предложить способ достижения того, что я упомянул выше.

0
задан 10 February 2019 в 08:53

1 ответ

Вы не сказали, КАК вы запускаете эту команду. Если запустить из командной строки, gnome-terminal -- python -i ~/demo.py будет работать, потому что оболочка превратится в ваш дом, прежде чем аргументы будут переданы в gnome-терминал. Но здесь, в вашем случае, сообщение об ошибке гласит ~/... : not found: не было оболочки для интерпретации ~, поэтому она была оставлена ​​как есть, и фактически в каталоге нет команды, имя которой является единственным символом ~, в команде happent должно быть начато в.

Либо явно используйте оболочку для интерпретации ~:

gnome-terminal -- sh -c 'exec python -i ~/demo.py'

, либо сделайте это самостоятельно и введите полное имя пути:

gnome-terminal -- python -i /home/me/demo.py
0
ответ дан 10 February 2019 в 08:53

Другие вопросы по тегам:

Похожие вопросы: