一些bash脚本以
如果您要编写一个用Python替换该bash脚本的脚本,最终命令将是什么?
exec "$@"
结束执行,通常在最终用传递给脚本的参数替换它们的执行之前调用一系列命令。如果您要编写一个用Python替换该bash脚本的脚本,最终命令将是什么?
exec "$@"
将调用所有附加的位置参数,第一个参数是程序名称,随后的参数是替换程序的参数。sys.argv
(来自sys
模块)是...用另一个进程替换当前正在运行的进程是os.exec*
函数族的工作(毫不意外,来自os
模块),请参见https://docs.python.org/3/library/os.html#os.execvp
如果没有使用-c
标志调用Bash的exec
,它将继承当前进程的环境,并使用$PATH
变量查找要执行的程序,如果路径不是绝对路径。
因此,最接近的exec*
函数是os.execvp
(variable参数数量,使用path)。还要注意的是...
exec "$@"
,如下所示(假设已导入os
和sys
):os.execvp(sys.argv[1], sys.argv[1:])
IndexError
错误。