Как запустить bash-скрипт в python и использовать переменные, которые определены в этом скрипте - PullRequest
1 голос
/ 28 апреля 2019

Я запускаю скрипт bash внутри скрипта Python, и мне нужно использовать переменные, которые были определены внутри скрипта bash, в скрипте Python.

Для некоторого контекста, вот скрипт bash:

#!/bin/bash
updates=$(/usr/lib/update-notifier/apt-check 2>&1)
all=${updates%";"*}
security=${updates#*";"}

Вот как я это называю в скрипте Python:

import subprocess
subprocess.call(["/usr/bin/checkupdates"])

Я хочу использовать переменные, которые были определены в этом скрипте bash ('all' и 'security') в этом операторе обновления SQL (который является частью скрипта Python):

cursor.execute("update dbo.updates_preprod set updates_available = ?, securityupdates_available = ? where hostname = ?",(all, security , socket.gethostname()))
cnxn.commit()

Возможно ли это сделать? Если нет, могу ли я запустить 2 отдельных сценария (каждый сценарий будет отображать одну из переменных) и получить стандартный вывод каждого сценария и определить его как переменную в Python?

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

1 Ответ

1 голос
/ 29 апреля 2019

В конце концов, было гораздо проще вызвать эту команду непосредственно из скрипта Python.

output = subprocess.check_output("usr/lib/update-notifier/apt-check", shell=True) all,sec = output.decode().split(';')

Спасибо @cdarke и @furas за предложение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...