
Python支持三引号字符串:
'''something'''
Shell仅支持单引号字符串:
'something'
通过使用 四个 引号,
sh将其视为2个空字符串,但Python将前三个视为三引号字符串的开头,并将第四个作为字符串值的一部分。
然后,该行的其余部分由解释为命令
sh,但由Python解释为字符串的一部分。
在
#随后形成尽可能评论
sh而言,但它仍然是一个字符串到Python,有三个结束引号关闭它。
因此,总结一下:
sh
sees: 空字符串(''
) - 空字符串(''
) - 命令(exec python -u -- "
) - 注释(# '''
" ${1+"$@"}'exec python -u -- "
)sh
" ${1+"$@"} #- Python看到: 三引号括起来的字符串文字(包含字符
python -u--
)
因此
__main__执行该命令,并用脚本名称和其余命令行参数替换自身,Python读取该文件,然后看到一个初始字符串文字,该文字不会随处可见。
因为它是文件中的第一个字符串文字,所以它将被设置为模块的文档字符串,但这与主脚本无关紧要。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)