如何从 python EOF 定义 bash 变量
How to define a bash variable from python EOF
我是 bash 的新手,无法在标题中解释我的问题,我进行了大量谷歌搜索,我想这就是我想出的标题
我希望能够使用 python EOF 并在 EOF 中定义一个 bash 变量(如果可能)并在之后调用它。
test.txt
:
everything - literally the string everything
我正在打开这个文件并获取内容
test.sh
:
#!/bin/bash
CMD=$(cat <<EOF
with open('text.txt', 'r') as f:
for line in f.readlines():
pass
print(f"WOW text has {line}")
EOF
)
python3 -c "$CMD"
输出:
WOW text has everything
我希望能够通过在我的 CMD
中定义它来共享一个变量(我知道它叫什么)并在完成后在 bash 中回显它;
#!/bin/bash
CMD=$(cat <<EOF
with open('text.txt', 'r') as f:
for line in f.readlines():
pass
print(f"WOW text has {line}")
$var = line - somehow define a bash variable in python EOF
EOF
)
python3 -c "$CMD"
echo $var - output this
那么新的输出(我想要的)是:
WOW text has everything
everything
I want to be able to share a variable by defining it in my CMD
那是不可能的。
I want to
编写一个 Bash 内置函数或路径 Bash 并进行修改,创建一个共享内存区域并引入一个新的特殊变量,该变量使用该共享内存区域来存储和获取变量的值.
使用 python 中的共享内存区域来存储变量的值。
您还可以更进一步,直接引入一个 Bash 可加载模块,该模块具有与 Python 的接口,通过本地套接字或类似方式进行通信,类似于 vim Python图书馆。
您可以:
输出值并使用 命令替换 捕获 python 进程的输出并将该输出分配给变量。
var=$(python -c 'print(line)')
echo "$var"
将值存储到文件中,然后在 Bash 中读取该文件的内容。或类似。
python -c 'open("/tmp/temporaryfile.txt").write(line)'
var=$(cat /tmp/temporaryfile.txt)
echo "$var"
您可能想研究“进程”——它们是什么,它们共享什么和不共享什么,以及进程之间的通信方法是什么。
我是 bash 的新手,无法在标题中解释我的问题,我进行了大量谷歌搜索,我想这就是我想出的标题
我希望能够使用 python EOF 并在 EOF 中定义一个 bash 变量(如果可能)并在之后调用它。
test.txt
:
everything - literally the string everything
我正在打开这个文件并获取内容
test.sh
:
#!/bin/bash
CMD=$(cat <<EOF
with open('text.txt', 'r') as f:
for line in f.readlines():
pass
print(f"WOW text has {line}")
EOF
)
python3 -c "$CMD"
输出:
WOW text has everything
我希望能够通过在我的 CMD
中定义它来共享一个变量(我知道它叫什么)并在完成后在 bash 中回显它;
#!/bin/bash
CMD=$(cat <<EOF
with open('text.txt', 'r') as f:
for line in f.readlines():
pass
print(f"WOW text has {line}")
$var = line - somehow define a bash variable in python EOF
EOF
)
python3 -c "$CMD"
echo $var - output this
那么新的输出(我想要的)是:
WOW text has everything
everything
I want to be able to share a variable by defining it in my CMD
那是不可能的。
I want to
编写一个 Bash 内置函数或路径 Bash 并进行修改,创建一个共享内存区域并引入一个新的特殊变量,该变量使用该共享内存区域来存储和获取变量的值.
使用 python 中的共享内存区域来存储变量的值。
您还可以更进一步,直接引入一个 Bash 可加载模块,该模块具有与 Python 的接口,通过本地套接字或类似方式进行通信,类似于 vim Python图书馆。
您可以:
输出值并使用 命令替换 捕获 python 进程的输出并将该输出分配给变量。
var=$(python -c 'print(line)') echo "$var"
将值存储到文件中,然后在 Bash 中读取该文件的内容。或类似。
python -c 'open("/tmp/temporaryfile.txt").write(line)' var=$(cat /tmp/temporaryfile.txt) echo "$var"
您可能想研究“进程”——它们是什么,它们共享什么和不共享什么,以及进程之间的通信方法是什么。