如何使用 python 获取在 shell 中执行的命令和参数
How to get the command & arguments that was executed in shell with python
我是 运行 aws-cli 中的一个获取日志的命令,我需要使用此命令的输出在 python 中执行一些操作。
我正在做这样的事情:
aws logs filter-log-events --log-group-name "something" --log-stream-names my-log-stream --filter-pattern "status=FAIL" | python3 -c "import sys, json; print(json.load(sys.stdin))"
以上命令获取 aws 日志并运行 python 代码片段以打印返回的 json。
我想在我的 python 代码片段中访问 log-group-name
和 log-stream-name
,即“某物”和“我的日志流”(在本例中)。我不确定如何做到这一点。
我试过使用 sys.argv
但它 returns 我在 python 命令中传递的参数,即 ['-c']
而不是 aws 命令。
管道不是这样工作的。它只是将命令的输出发送到下一个命令。您可以将 log-group-name
和 log-stream-name
设置为环境变量
export LGN=something
...
然后在 python 中使用 os.environ["LGN"]
访问它...类似于此
export LGN="my-log-group"; <your code here> | python3 -c "import os; print(os.environ['LGN'])"
我是 运行 aws-cli 中的一个获取日志的命令,我需要使用此命令的输出在 python 中执行一些操作。
我正在做这样的事情:
aws logs filter-log-events --log-group-name "something" --log-stream-names my-log-stream --filter-pattern "status=FAIL" | python3 -c "import sys, json; print(json.load(sys.stdin))"
以上命令获取 aws 日志并运行 python 代码片段以打印返回的 json。
我想在我的 python 代码片段中访问 log-group-name
和 log-stream-name
,即“某物”和“我的日志流”(在本例中)。我不确定如何做到这一点。
我试过使用 sys.argv
但它 returns 我在 python 命令中传递的参数,即 ['-c']
而不是 aws 命令。
管道不是这样工作的。它只是将命令的输出发送到下一个命令。您可以将 log-group-name
和 log-stream-name
设置为环境变量
export LGN=something
...
然后在 python 中使用 os.environ["LGN"]
访问它...类似于此
export LGN="my-log-group"; <your code here> | python3 -c "import os; print(os.environ['LGN'])"