如何在不明确将其解释为字符串的情况下使命令行将&解释为字符串

时间:2019-04-05 14:19:49

标签: python-3.x shell

每次我运行脚本并尝试将&符号传递到命令行args的末尾时,它都会返回我认为是某种进程ID的信息。

这是我的脚本:

import sys

s = sys.argv[1:]
print(s)

我这样运行:

$ python3 shell.py hello.sh &
[2] 3211
["hello.sh"]

1 个答案:

答案 0 :(得分:0)

与号&告诉Shell派生自己并在后台运行作业。它还会打印您的作业编号及其进程ID(PID)。

如果您需要有关Shell中作业控制的更多信息,请查看at this blog post

如果您想将其作为参数传递给程序,则需要先使用反斜杠对其进行转义:

$ python3 test.py  hello.sh \&
['hello.sh', '&']