Python:我如何阅读(不是 运行)shell 脚本,并沿途插入参数
Python: how do I read (not run) a shell script, inserting arguments along the way
我有一个简单的 shell 脚本 script.sh
:
echo "ubuntu:" | sudo chpasswd
我需要打开脚本,阅读它,插入参数,然后像这样将其保存为字符串:'echo "ubuntu:arg_passed_when_opening" | sudo chpasswd'
使用 Python.
建议的所有选项here实际执行脚本,这不是我想要的。
有什么建议吗?
您可以像读取任何文本文件一样执行此操作,我们可以使用 sys.argv 获取在 运行 运行 python 脚本时传递的参数。
例如:
import sys
with open('script.sh', 'r') as sfile:
modified_file_contents = sfile.read().replace('', sys.argv[1])
使用此方法,modified_file_contents
是一个包含文件文本的字符串,但指定的变量替换为传递给 python 脚本的参数,当时它是 运行 .
我有一个简单的 shell 脚本 script.sh
:
echo "ubuntu:" | sudo chpasswd
我需要打开脚本,阅读它,插入参数,然后像这样将其保存为字符串:'echo "ubuntu:arg_passed_when_opening" | sudo chpasswd'
使用 Python.
建议的所有选项here实际执行脚本,这不是我想要的。
有什么建议吗?
您可以像读取任何文本文件一样执行此操作,我们可以使用 sys.argv 获取在 运行 运行 python 脚本时传递的参数。
例如:
import sys
with open('script.sh', 'r') as sfile:
modified_file_contents = sfile.read().replace('', sys.argv[1])
使用此方法,modified_file_contents
是一个包含文件文本的字符串,但指定的变量替换为传递给 python 脚本的参数,当时它是 运行 .