@WhiteApfel

Можно ли сделать скрипт, который запустит program.py в терминале?

Требуется написать такой скрипт, который бы запускал через терминал client/main.py.
В Windows я реализовал это через bat файл:
@echo off
python client/main.py

В этом случае запускалась командная строка и выводила то, что выводил python

В Linux я увидел решение в .sh:
# !/bin/bash
python3 client/main.py

Но вывода никакого нет
О bash-скриптах знаю ооочень мало, просьба не кидаться тапками

Пробовал делать так:
# !/bin/bash
konsole -e python3 client/main.py

Терминал открывается и закрывается после завершения. И работает только в kde, ибо тут konsole, а не *terminal*

Требуется запуск по двойному нажатию, а не через терминал
  • Вопрос задан
  • 154 просмотра
Решения вопроса 1
planc
@planc
если у тебя установлен десктоп, то там дефолтные приложения должны быть через xdg
для терминала - это x-terminal-emulator
https://askubuntu.com/questions/46627/how-can-i-ma...

если нет, то можно просто захардкодить все терминалы и перебрать

#!/bin/bash                                                                                                                                                                                                                                   
                                                                                                                                                                                                                                              
for i in konsole urxvt gnome-terminal xterm sc                                                                                                                                                                                                
do                                                                                                                                                                                                                                            
    FULL_PATH=`which $i 2>/dev/null`                                                                                                                                                                                                          
    if [[ -x $FULL_PATH ]]                                                                                                                                                                                                                    
    then                                                                                                                                                                                                                                      
        echo 'первый попавшийся терминал:' $FULL_PATH                                                                                                                                                                                         
        break                                                                                                                                                                                                                                 
    fi                                                                                                                                                                                                                                        
done
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@latush
># !/bin/bash
пробел уберите между # и !
и попробуйте еще раз первый вариант
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы