.bashrc 命令复制当前工作目录

.bashrc command to copy current working directory

我正在尝试为以下命令编写一个别名,该命令获取您当前的工作目录,用引号括起来,并将其复制到剪贴板。

echo \"$(pwd)\" | xclip

然而,在 .bashrc 中为此写一个别名并不是很正确。这是我写的别名:

alias cpwd="echo \"$(pwd)\" | xclip"

但是当该命令是 运行 时,双引号被省略。我已经检查了类似问题的答案,例如 bash alias command with both single and double quotes,但我想我正在转义所有必需的字符,所以我不知道为什么这个命令不起作用。

命令的当前结果类似于:home/user/My Folder 而不是我想要的 "home/user/My Folder"

你需要更多的逃避。你已经正确地转义了 $;您需要对现有的反斜杠执行相同的操作。

alias cpwd="echo \"$(pwd)\" | xclip"

或者,您可以使用单引号避免所有转义。

alias cpwd='echo \"$(pwd)\" | xclip'

最重要的是,使用函数而不是别名。一个函数可以让您完全按照正常方式编写命令,而无需 any 额外引号或转义。

cpwd() {
    echo \"$(pwd)\" | xclip
}