如何在 Mac OS 中从终端复制完整路径

如何在 Mac OS 中从终端复制完整路径

我想复制一个文件的路径,但目录未在 Finder 中打开,而是在终端中打开。是否可以通过调用<utility> filename将完整文件路径字符串复制到 Mac OS 剪贴板?例如在那里复制以下命令的输出。

`pwd`/filename

将以下行添加到我的.zshrc

function cn { echo -n $(pwd)/$1 | pbcopy }

由于参数的原因,别名无法正常工作。完全相同的字符串在 bash 中也应该可以工作。

答案1

echo $(pwd)/filename | pbcopy

这将为您提供一个非引号和非转义的字符串,根据您的使用情况,当粘贴到其他地方时可能无法正常工作。

答案2

如果你愿意安装链接使用 brew: brew install coreutils,您可以实现适用于任何路径(另一个文件夹中的文件或文件夹名称)的解决方案。这是我在 ~/.zshrc 中的内容:

function path_to_clipboard() {
    local path_escaped="$(printf "%q\n" "$1")"
    local path_escaped_full=$(greadlink -f "$path_escaped")
    echo -n $path_escaped_full | pbcopy
}
alias pb=path_to_clipboard

相关内容