Получение командной строки Python при вызове из сценария bash

Это может быть очень простой вопрос. Я вызываю сценарий Python на Lubuntu OS (Cubietruck) через сценарий оболочки. Это автоматизация процесса при запуске (я хочу поддерживать этот процесс). Есть ли простой способ просмотра вывода из Python? В настоящий момент сценарий Python работает в фоновом режиме, без терминала. У меня есть некоторые ошибки, требующие проверки. Скрипт:

#!/bin/sh python recordSound.py 

Заранее спасибо.

4 Solutions collect form web for “Получение командной строки Python при вызове из сценария bash”

Правильное решение, вероятно, будет использовать logging как было предложено в комментарии.

Тем временем вам нужно перенаправить как стандартный вывод, так и стандартный поток ошибок , чтобы зафиксировать нормальный выход в виде стены как любую ошибку, указанную вашим скриптом:

 #!/bin/sh python recordSound.py >> logfile.log 2&>1 

См. Одну из многих веб-страниц на эту тему, чтобы изучить различное перенаправление, доступное из сценария оболочки.


Кроме того, если вам нужны как вход в систему, так и просмотр в реальном времени на консоли, используйте стандартную команду tee :

 #!/bin/sh python recordSound.py 2&>1 | tee logfile.log 

Очень простой способ перенаправить вывод из вашего скрипта в файл

 #!/bin/sh python recordSound.py >> logfile.log 

См. Документы по перенаправлению ввода-вывода

Я не эксперт по bash, но я думаю, что это должно работать, поскольку python выводит на стандартный вывод, если не указано иначе:

 #!/bin/sh python recordSound.py >> /tmp/my_python_log.txt 

будет добавлять строки каждый раз, когда python выводит материал. Перейдите к пути, указанному для чтения результата. Если вы хотите жить, используйте трубы '|' для перенаправления вывода.

Изменить: для просмотра в реальном времени вы также можете использовать команду «tail -f /tmp/my_python_log.txt» на другом терминале по мере запуска другого решения, которое сначала напечатает последние 10 строк или около того в файле, затем автоматически добавьте новые строки. Мне нравится эта команда, очень удобная для просмотра активности на небольшом сервере Apache. Вы можете смотреть сразу несколько журналов!

Вызовите свой скрипт напрямую. Так же, как вы называете скрипт bash с помощью shebang (#!), Вы можете вызвать свой скрипт python с помощью «#! / Bin / env python». Затем все, что вам нужно сделать, это предоставить разрешение на выполнение с помощью «chmod + x yourscript.py» и вызвать ваш скрипт прямо как приложение. Таким образом, вы можете увидеть коды ошибок. Другой способ сделать это – использовать модуль logger, который отлично подходит для отслеживания и отладки информации.

  • Системный лоток Ubuntu в Python
  • Обнаружение рабочей станции / Блокировка экрана системы с помощью Python (ubuntu)
  • Не удается завершить процесс sudo, созданный с помощью python, в Ubuntu 15.10
  • Как я могу сделать фальшивую «активную сессию» для gconf?
  • Python, Keyring и Cron
  • Как развернуть (размыть) окно Python-gi GTK + 3 на Linux
  • Почему эти apt-пакеты не ведут себя одинаково на Ubuntu и Heroku?
  • ImportError: нет модуля с именем bz2 для Python 2.7.2
  •  
    Interesting Posts for Van-Lav

    Получить переводный текст из внешнего источника в каталог

    Является ли синтаксический разбор json наивным классом Python или структурированным?

    Извлечение всех ограничивающих прямоугольников с использованием OpenCV Python

    Как настроить автоматическое развертывание в AppEngine при нажатии в Git Repository

    ОС запускает процессы уничтожения при запуске многопоточного процесса python

    Поймать исключение потока в потоке вызывающего в Python

    python re match, findall или search, а затем NLP (что с ним делать?)

    Лучший способ установить пакеты python локально для разработки

    Как я могу удалить пространства имен из дерева lxml?

    Многомерный нормальный CDF в Python с использованием scipy

    Как сделать мою кусочную функцию нулевой вне предоставленного интервала в python

    Opencv python. WaitKey не отвечает?

    Есть ли хороший способ избежать глубокой копии памяти или сократить время, затрачиваемое на многопроцессорную обработку?

    Не удается установить Cython на win7

    Передача аргументов в шаблон редактирования ModelView в flask-admin

    Python - лучший язык программирования в мире.