Вызвать сценарий bash из python с нужной строкой - PullRequest
0 голосов
/ 09 мая 2020

У меня есть сценарий python, который получает пароль пользователя из / etc / shadow для проекта, который я делаю. Допустим, я получил пароль в сценарии python как «jumbo». Итак, как мне go вызвать сценарий bash, находясь внутри сценария python? Он должен быть таким, чтобы пароль «jumbo» передавался в сценарий bash, который будет использоваться.

Причина, по которой я передаю его в сценарий bash, заключается в том, что затем мне нужно войти в систему под пользователем, скажем «worker», с этим паролем в сценарии bash (вместо командная строка, очевидно) для автоматического входа в учетную запись «worker», когда сценарий bash завершает выполнение, и он возвращается к сценарию python для продолжения остальной части кода python, который находится после вызова сценария bash.

Редактировать: я не понимаю, как вызвать сценарий bash в python, а также не понимаю, как «поймать» строку в сценарии bash.

1 Ответ

1 голос
/ 09 мая 2020

Если вы хотите вызвать скрипт с аргументами, вы можете использовать check_call function:

from subprocess import check_call

rc = check_call("./file.sh %s %s %s" % (agr1, str(arg2), arg3), shell=True)

запомнить , чтобы преобразовать аргументы в строку перед передачей, используя str (arg ).

...