这是特定于 macOS 的,但在Ask Different社区中似乎过于单一。
在终端中,我可以pwd
复制结果,然后键入open
并粘贴结果,文件夹将在 Finder 中打开,但是
pwd | open
Run Code Online (Sandbox Code Playgroud)
打印open
. 为什么管道不起作用但粘贴起作用?
Kus*_*nda 28
open
macOS 上的实用程序不从标准输入读取,而是从命令行获取其参数。
要打开当前工作目录,您必须说
$ open "$( pwd )"
Run Code Online (Sandbox Code Playgroud)
或者
$ open "$PWD"
Run Code Online (Sandbox Code Playgroud)
或者干脆
$ open .
Run Code Online (Sandbox Code Playgroud)
正如下面的评论所指出的。
使用该-f
标志,open
可以从标准输入读取,但只能打开它在默认文本编辑器中接收到的任何内容。
Jul*_*ier 19
我没有 Mac,因此无法对其进行测试,但解决方案应该类似于:
open "`pwd`"
Run Code Online (Sandbox Code Playgroud)
并非所有程序都接受stdin
管道工作所必需的输入。
其他答案完全正确。如果您想要一个简单的速记,您可以按照@fd0 的建议进行操作,只需使用
open .
Run Code Online (Sandbox Code Playgroud)
打开当前目录。当前目录.
在 Unix 中被命名为(一个单点),即父目录..
(两个点)。
小智 9
pwd | xargs open
Run Code Online (Sandbox Code Playgroud)
xargs
将其标准输入推入其第一个参数的参数中。