我有一个小脚本(称为 stc)来创建 SecureTokenstoken
#!/bin/bash
# Read Password
read -p "Password " -s PASS
TOKEN=$(stoken --stdin <<< "$PASS")
xclip -sel c <<< "$TOKEN"
if [[ ! -t 1 ]]; then
echo $TOKEN
fi
Run Code Online (Sandbox Code Playgroud)
在正常情况下,它将令牌复制到剪贴板。当存在管道时,应将令牌写入stdout(这是有效的),但由于某种原因,管道中的下一个命令不会执行。我认为这与read但不知道如何解决这个问题有关。
例如
$ stc | tee
Run Code Online (Sandbox Code Playgroud)
结果是
$ stc | tee
Password <token echo>
<hangs forever>
Run Code Online (Sandbox Code Playgroud)