擅长:python、mysql、java
<p>如果不修改语言或shell,则无法执行此操作。</p>
<p>如果您想使用Python作为shell,您应该真正尝试<a href="http://ipython.org/" rel="noreferrer">IPython</a>,它允许您定义宏,而无需键入太多键即可使用这些宏。它还允许您执行<code>!pwd</code>,您还可以将其分配给变量<code>x = !pwd</code>。它甚至允许您通过编写<code>f x</code>而不是<code>f(x)</code>来调用单参数函数。</p>
<p>BTW Haskell是一种使用空格作为参数列表的语言,即:Python中的<code>f(1,2,3)</code>在Haskell中是<code>f 1 2 3</code>,在shell中,任何IO操作都可以通过键入<code>action</code>来执行。</p>
<p>我忘了你还可以做一个黑客:</p>
<pre><code>class Pwd(object):
def __repr__(self):
# do pwd command
# return result in string form
pwd = Pwd()
</code></pre>
<p>现在,当您在shell中键入pwd时,它将调用<code>__repr__</code>来获取对象的字符串表示。不幸的是,由于python语言强制返回字符串(与之相反,如果实现ls,则返回表示当前目录中的文件/文件夹的字符串列表)。</p>