python - 如何使用从 Python 返回的输入参数从 Bash 脚本执行 Python 脚本?
问题描述
我从 bash 脚本调用 py 脚本,但是我的 python 脚本返回了我想在 bash 脚本中使用的值。有人可以帮忙吗?
解决方案
你好
这很简单。只需使用 print() 输出您想要的内容,您就可以使用此输出。从 python 函数中,您还可以使用 return 和字符串或其他任何内容将输出作为 bash/sh 脚本的输入。在 linux 中,当程序/脚本以零( 0 )的返回码退出时,一切都很好。所以规则应该是:以文本形式返回/退出/错误消息:print('whatever')和 Returncode:sys.exit(number)
#!/usr/bin/python3
import sys
print('No error - But i return 1 and not 0')
sys.exit(1)
玩 bash ( test.py ) ...
# test.py &>/dev/null && echo 'zero' || echo 'not zero'
not zero
# echo -ne $(test.py)'\n'
No error - But i return 1 and not 0
所以第一个命令(short if then else)只检查返回码(exitcode),第二个使用输出。两者都使用,一切都很好。
推荐阅读
- c++ - 为什么将 `std::scoped_lock` 变量标记为 const?
- javascript - 使用 JavaScript 后自动完成功能不起作用
- python - 将多对多字段更改为外键时出现 Django 迁移错误
- r - 如何在“frequencyconnectedness”包中找到函数内的代码?
- database - 如何从大型 csv 文件中删除重复项?
- c# - 如何使矩形的所有角都正交
- php - 用单个空格替换多个空格
- density-plot - 试图在 R 中绘制两个样本
- android - React Native AndroidManifest.xml 无法编辑
- database - $group 聚合导致 BSONobj 大小错误(必须小于 16mb)