Sea*_*son 8 terminal bash whitespace newlines macos
我正在尝试在 Mac OS X 终端上编写一个简单的别名来复制当前工作目录。我有这个:
alias cpwd="echo \`pwd\` | pbcopy; echo \"Copied \`pwd\`\""
Run Code Online (Sandbox Code Playgroud)
然后我可以运行以下命令来复制它:
$ cpwd
Run Code Online (Sandbox Code Playgroud)
问题是最后echo pwd包含换行符。所以当我粘贴它时,它会立即执行(如果粘贴在终端中)。
我想要做的就是去掉试用换行符,但我在互联网上找到的任何东西似乎都不适合我。看过涉及sed,awk和 的各种解决方案cut,但我不太明白。似乎很容易做到。
我相信这应该有效:
alias cwd="echo -n `pwd` | pbcopy; echo \"Copied `pwd`\""
Run Code Online (Sandbox Code Playgroud)
该-n说“不换行”。或者你总是可以通过输出tr并删除这样的换行符:
alias cwd="echo `pwd` | tr -d "\n" | pbcopy; echo \"Copied `pwd`\""
Run Code Online (Sandbox Code Playgroud)
我不确定您是否要从第一个回声或两者中删除尾随的新行字符 - 但我想您可以弄清楚它是否适用于第一个 ;)
| 归档时间: |
|
| 查看次数: |
3989 次 |
| 最近记录: |