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