我正在围绕我的密码管理系统设置一个生产力工作流程,其中一步是从命令行实用程序获取一次性密码,并将其粘贴到对话框中(不幸的是没有命令行工具)。
我的命令是
passwordtool get otp | pbcopy
Run Code Online (Sandbox Code Playgroud)
不幸的是,pbcopy 似乎故意在复制的文本中添加了一个新行,因此当我将其粘贴进去时,还有一个额外的后退间距步骤。对我个人来说没什么大不了的,但我想分享这个流程,我想让其他人尽可能简单。关于解决方法有什么建议吗?
pbcopy不添加换行符。一定是你passwordtool在这么做。由于各种原因,命令行工具通常会stdout在默认情况下添加尾随换行符。需要覆盖该约定的工具通常提供一个命令行选项来覆盖它,例如echo's-n选项。
为了证明,我在这里运行echo以-n确保echo不添加换行符,并将其通过管道传输到pbcopy. 然后我通过输出剪贴板/粘贴板pbpaste并将其通过管道连接hexdump -C以查看它到底包含什么:
% echo -n "单词" | pbcopy && pbpaste | pbcopy && pbpaste | 十六进制转储-C 00000000 77 6f 72 64 |字| 00000004
如果我去掉-nfrom echo,我们会看到包含换行符时的样子:
% 回显“单词”| pbcopy && pbpaste | pbcopy && pbpaste | 十六进制转储-C 00000000 77 6f 72 64 0a |字。| 00000005
| 归档时间: |
|
| 查看次数: |
2069 次 |
| 最近记录: |