Linux “回声”;“字符串”xclip-选择剪贴板,复制';字符串';但也增加了一条新的路线。如何解决这个问题?

Linux “回声”;“字符串”xclip-选择剪贴板,复制';字符串';但也增加了一条新的路线。如何解决这个问题?,linux,centos,clipboard,xclip,Linux,Centos,Clipboard,Xclip,这是负责向字符串添加新行的命令 echo "string" | xclip -selection clipboard 我应该详细说明一下。echo的默认设置是输出字符串和换行符-n支持后者。更通用的解决方案是忽略新行,而不管输入源是什么。例如,常见的用例是将当前目录的路径复制到剪贴板。命令 pwd | xclip -selection clipboard 复制新行字符,这通常不是我们想要的。 解决方案如下所示: pwd | xargs echo -n | xclip -selection c

这是负责向
字符串添加新行的命令

echo "string" | xclip -selection clipboard

我应该详细说明一下。echo的默认设置是输出字符串和换行符-n支持后者。

更通用的解决方案是忽略新行,而不管输入源是什么。例如,常见的用例是将当前目录的路径复制到剪贴板。命令

pwd | xclip -selection clipboard
复制新行字符,这通常不是我们想要的。 解决方案如下所示:

pwd | xargs echo -n | xclip -selection clipboard
您可以创建别名以使其更方便:

alias xclip='xargs echo -n | xclip -selection clipboard'
从现在开始使用:

pwd | xclip # copied without new line
echo "foo" | xclip # copied without new line

从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!

建议将此问题的标题编辑为“防止xclip添加新行”之类的内容。这是一个很棒的问题,很难找到!好问题,谢谢!如果要复制当前路径,请对以前的命令进行一次改进,即:echo-n$(pwd)| xclip-selection剪贴板
echo-n${pwd/\\}| xclip-selection剪贴板反斜杠空格需要0.13版,谢谢。我将在我的回答中添加这一点。添加
pwd
如何使这个“更通用”?:)如果仔细阅读,您可以看到通用解决方案是指“忽略新行,而不管输入源如何”。pwd部分显示为一个示例和“常见用例”,说明了您可能希望这样做的原因。最后一个示例也使用echo。
pwd | xclip -r # copied without new line
echo "foo" | xclip -r # copied without new line
ps | xclip -r # copied without the last new line!