pbcopy 将换行符添加到复制的一次性密码

pbcopy 将换行符添加到复制的一次性密码

我正在围绕我的密码管理系统建立一个生产力工作流程,其中一步是从命令行实用程序获取一次性密码,并将其粘贴到对话框中(不幸的是没有命令行工具)。

我的命令是

passwordtool get otp | pbcopy

不幸的是,pbcopy 似乎故意在复制的文本中添加了新行,所以当我粘贴时,需要额外添加一个退格步骤。对我来说这不是什么大问题,但我想分享这个流程,我想让其他人尽可能简单。有什么解决方法的建议吗?

答案1

pbcopy不添加换行符。一定是你的passwordtool操作。stdout出于各种原因,命令行工具通常会默认在其末尾添加换行符。需要覆盖该约定的工具通常会提供命令行选项来覆盖它,例如echo-n选项。

为了证明这一点,我在这里运行echo-n确保echo不会添加换行符,并将其通过管道传输到pbcopy。然后我通过输出剪贴板/粘贴板pbpaste并将其通过管道传输到以hexdump -C查看其确切包含的内容:

%echo -n“单词”| pbcopy && pbpaste | hexdump -C
00000000 77 6f 72 64 |字|
00000004

如果我去掉-nfrom echo,我们会看到包含换行符后的样子:

%回显“单词”| pbcopy && pbpaste | hexdump -C
00000000 77 6f 72 64 0a |字。|
00000005

相关内容