【发布时间】:2021-04-18 14:51:15
【问题描述】:
问题与Linux Debian、bash和python3有关。
从 bash 运行 python3 文件,将参数从 bash 发送到 py 并在 bash 上通过 echo 输出结果。
以下是对我有用的示例。这个通过 bash 启动一个 python3 脚本并在终端上获取 python3 脚本的输出。
bash_script.sh
#!/bin/bash
python3 python_script.py
python_script.py #!/usr/bin/env python3
import random # import the random module
# determining the values of the parameters
mu = 100
sigma = 25
print(random.normalvariate(mu, sigma))
我的问题是什么: 如何更改代码,将“mu”和“sigma”的参数从bash发送到python并通过“echo $python_script_output”在bash上输出python结果?
按照不工作的草案寻求解决方案:
bash_script.sh
#!/bin/bash
mu = 100
sigma = 25
python3 python_script.py
echo $python_script_output
python_script.py
#!/usr/bin/env python3
import random
print(random.normalvariate(mu, sigma))
【问题讨论】:
-
1
mu = 100不会将100分配给$mu。那是mu=100。 2 Python 不知道 Bash 的变量。export他们将它们作为参数传递。 -
这闻起来有点像XY problem。 为什么你需要使用 Bash 和 Python?任何一个都可以做任何你想做的事情(但一个可能会更好)。两者都用似乎是自找麻烦。
-
@Biffen,我需要这个样本来解决很多与自我相关的平等问题。我只需要一个在这种方式下工作的解决方案,在其他方式上不需要更短的解决方案。
标签: python python-3.x bash