我正在尝试在 Mac OS X 终端上编写一个简单的别名来复制当前工作目录。我有这个:
alias cpwd="echo \`pwd\` | pbcopy; echo \"Copied \`pwd\`\""
然后我只需运行以下命令来复制它:
$ cpwd
问题是echo pwd
末尾包含换行符。因此,当我粘贴它时,它会立即执行(如果粘贴在终端中)。
我只想删除试行换行符,但我在互联网上找到的似乎都对我有用。看过涉及 、 和 的各种解决方案sed
,awk
但cut
我不太明白。似乎很容易做到。
答案1
我相信这应该可行:
alias cwd="echo -n `pwd` | pbcopy; echo \"Copied `pwd`\""
上面写着-n
“没有换行符”。或者你也可以直接让输出通过tr
并删除换行符,如下所示:
alias cwd="echo `pwd` | tr -d "\n" | pbcopy; echo \"Copied `pwd`\""
我不确定您是否要从第一个回显或两者中删除尾随的新行字符 - 但我想您可以弄清楚它是否适用于第一个;)
答案2
我不确定 Mac OS X echo 命令,但如果提供了 -n 参数,echo 将不会输出尾随的换行符:
-n 不输出尾随的换行符
问候...