tin*_*ink 31

echo -n "string" | xclip -selection clipboard
Run Code Online (Sandbox Code Playgroud)

我应该详细说明一下.echo的默认值是输出字符串AND换行符. -n抑制后者.

  • 如果你想复制当前路径 `echo -n $(pwd) | xclip -选择剪贴板` (2认同)

Mic*_*zak 19

更通用的解决方案是无论输入源如何都忽略新行.例如,常见的用例是将当前目录的路径复制到剪贴板.命令

pwd | xclip -selection clipboard
Run Code Online (Sandbox Code Playgroud)

复制新的行字符,这通常不是我们想要的.该解决方案如下:

pwd | xargs echo -n | xclip -selection clipboard
Run Code Online (Sandbox Code Playgroud)

您可以创建别名以使其更方便:

alias xclip='xargs echo -n | xclip -selection clipboard'
Run Code Online (Sandbox Code Playgroud)

从现在开始使用:

pwd | xclip # copied without new line
echo "foo" | xclip # copied without new line
Run Code Online (Sandbox Code Playgroud)

  • 如果你仔细阅读,你可以看到通用解决方案是指“忽略新行而不管输入源”。pwd 部分显示为示例和“常见用例”,为什么您可能想要这样做。最后一个例子也使用了 echo。 (2认同)

roo*_*ols 6

从xclip版本0.13开始,您可以使用通用方法,使用选项rrmlastnl保留内部的新行。

因此,您将拥有:

pwd | xclip -r # copied without new line
echo "foo" | xclip -r # copied without new line
ps | xclip -r # copied without the last new line!
Run Code Online (Sandbox Code Playgroud)

  • “-r”对我来说成功了。如果我完全读懂这个人的话会有帮助 (2认同)