我为Typer创建了一个client到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|
答案 0 :(得分:0)
尝试
token=$(snappy login | cut -d':' -f3)
cut -d':' -f3
<-使用:
作为分隔符并打印第三个字段