我正在围绕我的密码管理系统建立一个生产力工作流程,其中一步是从命令行实用程序获取一次性密码,并将其粘贴到对话框中(不幸的是没有命令行工具)。
我的命令是
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
如果我去掉-n
from echo
,我们会看到包含换行符后的样子:
%回显“单词”| pbcopy && pbpaste | hexdump -C 00000000 77 6f 72 64 0a |字。| 00000005