擅长:python、mysql、java
<p>真聪明!<strong>在Bash</strong>中,<code>""":"</code>将只扩展为<code>:</code>,这是空命令(它什么都不做)。因此,接下来的几行将被执行,导致<code>exec</code>。此时,Bash<em>不再存在</em>,Python将重新读取该文件(其名称为<code>$0</code>),并转发原始参数。你知道吗</p>
<p><code>${1+"$@"}</code>意味着:如果定义了<code>$1</code>,则传递为参数<code>"$@"</code>,这是Bash脚本的原始参数。如果<code>$1</code>没有定义,这意味着Bash没有参数,那么结果是空的,因此不会传递其他内容,甚至空字符串也不会传递。你知道吗</p>
<p><strong>在Python中,<code>"""</code>启动一个包含Bash命令的多行字符串,并一直扩展到结束的<code>"""</code>。所以Python会跳到下面。你知道吗</p>