Я пытаюсь написать скрипт, который выполняет несколько вещей на сервере Linux, и я хотел бы использовать bash для большинства специфических команд Linux и использовать Python только для самых сложных вещей, но для этогоМне нужно будет экспортировать некоторые переменные из скрипта bash и использовать их в скрипте python, и я не нашел способа, как это сделать.Поэтому я попытался создать два очень маленьких скрипта для проверки этой функциональности: 1.sh - скрипт bash
#!/bin/bash
test_var="Test Variable"
export test_var
echo "1.sh has been executed"
python 2.sh
2.sh - скрипт Python:
#!/usr/bin/env python3
print("The python script has been invoked successfully")
print(test_var)
Как выможет догадаться, когда я выполняю первый скрипт, второй сбой с ошибкой о неизвестной переменной:
$ ./1.sh
1.sh has been executed
The python script has been invoked successfully
Traceback (most recent call last):
File "2.sh", line 4, in <module>
print(test_var)
NameError: name 'test_var' is not defined
Причина, по которой я пытаюсь это сделать, заключается в том, что мне больше нравится bash и я хочу использовать $ 1$ 2 переменных в bash.Это также возможно в Python?
[РЕДАКТИРОВАТЬ] - Я только что узнал, как я могу использовать $ 1 и $ 2 в Python.Вам необходимо использовать sys.argv[1]
и sys.argv[2]
и импортировать модуль sys import sys