这是 macOS 特有的,但似乎太 unixy 了,无法进入提出不同的要求社区。
在终端中,我可以pwd
复制结果,然后键入open
并粘贴结果,文件夹将在 Finder 中打开,但是
pwd | open
打印 的帮助文档open
。为什么管道不起作用但粘贴可以?
答案1
macOS 上的实用程序open
不从标准输入读取,而是从命令行获取参数。
要打开当前工作目录,你必须说
$ open "$( pwd )"
或者
$ open "$PWD"
或者简单地
$ open .
正如下面的评论所指出的。
使用该-f
标志,open
可以从标准输入读取,但只能打开在默认文本编辑器中收到的任何内容。
答案2
我没有 Mac,所以无法测试,但解决方案应该是这样的:
open "`pwd`"
stdin
并非所有程序都会获取管道工作所需的输入。
答案3
pwd | xargs open
xargs
将其标准输入推入其第一个参数的参数中。
答案4
您可以使用管道-f
在文本编辑器中打开上一个命令的内容。这仅适用于文本编辑器。对于其他应用程序,您需要使用其他问题中的建议。
例如:
ls | open -f
这将打开带有输出内容的默认文本编辑器ls
。
您还可以使用以下命令指定要使用的文本编辑器-a
:
ls | open -a 'Atom' -f
这将打开 Atom 并ls
输出内容。