【发布时间】:2020-11-14 21:37:04
【问题描述】:
我用Typer 到client 为http server 创建了一个命令行界面。
这将启动一个交互式登录,显示用户名和密码提示。如果有效,它将授权令牌回显到标准输出。
$ snappy login
Username:
Password:
如何捕获 shell 脚本中的最后一个输出?我尝试了一个基本的子shell:
token=$(snappy login)
但随后token 捕获Username: Password: <authorization token>,并且没有文本显示到标准输出。
我目前的选择:
script -qc 'snappy login'
token=$(tail -1 typescript)
rm typescript
删除了底部的 13 行,因为它们只包含标记字符:
$ snappy login 2>&1 | hexdump -C
myemail@mail.com
00000000 55 73 65 72 6e 61 6d 65 3a 20 50 61 73 73 77 6f |Username: Passwo|
00000010 72 64 3a 20 65 79 4a 30 65 58 41 69 4f 69 4a 4b |rd: eyJ0eXAiOiJK|
【问题讨论】:
-
请将
snappy login 2>&1 | hexdump -C的输出添加到您的问题中(无评论)。
标签: bash shell variable-assignment python-interactive