从python脚本设置bash变量

Mel*_*ier 0 python linux bash

我在我的bash脚本中调用了一个python脚本,我想知道是否有一种简单的方法可以在我的python脚本中设置我的bash变量.

例:

我的bash脚本:

#!/bin/bash

someVar=""
python3 /some/folder/pythonScript.py
Run Code Online (Sandbox Code Playgroud)

我的python脚本:

anotherVar="HelloWorld"
Run Code Online (Sandbox Code Playgroud)

有没有办法可以将someVar设置为anotherVar的值?我想在python脚本中的文件中打印属性,然后从我的bash脚本中读取它们,但也许还有另一种方法.另外我不知道也不认为它有任何区别,但我可以使用相同的名称命名两个变量(someVar/someVar而不是someVar/anotherVar)

Mar*_*oij 6

不,当您执行时python,您启动一​​个新进程,并且每个进程只能访问自己的内存.想象一下,如果一个进程可能影响另一个进程内存会发生什么!即使对于像这样的父/子进程,这也是一个巨大的安全问题.

你可以制作python print()并使用它,但是:

#!/usr/bin/env python3

print('Hello!')
Run Code Online (Sandbox Code Playgroud)

在你的shell脚本中:

#!/usr/bin/env bash

someVar=$(python3 myscript.py)
echo "$someVar"
Run Code Online (Sandbox Code Playgroud)

当然,还有许多其他可以使用的IPC技术,例如套接字,管道,共享内存等......但是没有上下文,很难提出具体的建议.