<blockquote>
<p>While in shell, </p>
<pre><code>$ echo '$PATH'
$PATH
</code></pre>
</blockquote>
<p>如果不使用引号,也有相同的输出,如</p>
<pre class="lang-sh prettyprint-override"><code>echo $PATH
</code></pre>
<p>此外,在python中,您可以使用</p>
<pre class="lang-py prettyprint-override"><code>>>> os.path.expandvars('$PATH')
'/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl'
# or
>>> print(os.path.expandvars('$PATH'))
/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl
</code></pre>
<hr/>
<p>另外,我觉得您对使用python交互式shell有点误解,因此我在下面添加了几行</p>
<pre class="lang-py prettyprint-override"><code>>>> import os
>>> my_envs = os.path.expandvars('$PATH')
>>> my_envs # Look at this output
'/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl'
>>> print(my_envs) # And look at this output
/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl
</code></pre>
<p>你看到输出的不同吗</p>
<hr/>
<h2>更新#1</h2>
<p>@rapiz写道:</p>
<blockquote>
<h1>UPDATE #2</h1>
<p>I want to achieve something like this:</p>
<pre class="lang-py prettyprint-override"><code>>>> os.path.expandvars("$USER '$USER'")
"rapiz $USER"
</code></pre>
</blockquote>
<p>下面的解决方案如何</p>
<pre class="lang-py prettyprint-override"><code>>>> user_env = '$USER'
>>> user_env_val = os.path.expandvars(user_env)
>>> print(f'"{user_env_val} {user_env}"')
"rapiz $USER"
</code></pre>