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

.bashrc命令复制当前工作目录,bash,escaping,alias,Bash,Escaping,Alias,我正在尝试为下面的命令编写一个别名,该命令获取您当前的工作目录,并用引号括起来,然后将其复制到剪贴板 echo \"$(pwd)\" | xclip 但是,在.bashrc中为此编写一个别名并不十分有效。这是我写的别名: alias cpwd="echo \"\$(pwd)\" | xclip" 但是当运行该命令时,双引号被省略。我已经检查了类似问题的答案,例如,但是我认为我正在转义所有必需的字符,所以我不知道为什么这个命令不起作用

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

echo \"$(pwd)\" | xclip
但是,在
.bashrc
中为此编写一个别名并不十分有效。这是我写的别名:

alias cpwd="echo \"\$(pwd)\" | xclip"
但是当运行该命令时,双引号被省略。我已经检查了类似问题的答案,例如,但是我认为我正在转义所有必需的字符,所以我不知道为什么这个命令不起作用


该命令的当前结果类似于:
home/user/My Folder
,而不是像我想要的那样
“home/user/My Folder”

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

alias cpwd="echo \\"\$(pwd)\\" | xclip"
或者,可以使用单引号避免所有转义

alias cpwd='echo \"$(pwd)\" | xclip'
最好使用函数而不是别名。函数允许您完全按照正常方式编写命令,而无需任何额外的引号或转义

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