python - 如何将python变量传递给shell scriptT
问题描述
我有一个带有 first.sh 的 shell 脚本,它在内部调用了一个 python 脚本 second.py。当这个 python 脚本执行时,它会根据某些参数设置一些变量 var='yes'。
现在我需要将此 var 变量传递给它正在调用的 shell 脚本并进行一些处理。请让我知道该怎么做。
我尝试了 os.system('bash') ,但它正在创建新会话并且 shell 脚本的执行没有继续。
解决方案
一个常见的模式是在父进程 (bash) 和子进程 (python) 之间使用文件描述符。在简单的情况下,只使用标准输入/输出。所以 bash 可以读取结果。像这样的东西:
#!/bin/bash
foo=$(python script.py)
echo "$foo"
如果您需要比单个变量更复杂的东西,您将需要决定数据的一些格式以及如何处理它(也许以 json 格式输出?)
推荐阅读
- java - 如何遍历 JSONObject(complex) 并选择键值对并将其插入到 Map
- amazon-web-services - AWS SAM StepFunctionsExecutionPolicy 错误:未授权执行:states:StartExecution
- javascript - 锚元素在第一次单击时无法正确滚动,但在第二次尝试时滚动正常
- node.js - 在 EJS 文件中包含标签的可选类的语法
- django - Django REST Framework:如何制作自定义验证器来一次验证多个字段的组合?
- php - Laravel 急切加载与模型属性条件的关系
- python - 将枕头图像编码为 json 字典字段
- cloudflare - Cloudflare 会缓存 Get 以外的 Http 请求吗?
- python-3.x - 使用 Python Pandas to_sql() 将错误行批量插入 crateDB 时如何引发异常
- javascript - 如何将布尔值从我的 React 子组件传递给父组件