好吧我确定以前曾经问过这个问题,但我的生活中找不到答案(这是不可能的/怎么做)。
我有一个shell脚本script.sh,它使用以下命令在远程服务器上运行命令:
ssh -t [SERVER] "[COMMAND TO BE EXECUTED REMOTELY]"
这样可以正常工作,包括命令是否包含sudo。
但是,有时我会重定向此script.sh的输出,当然如果远程命令包含sudo,也会重定向sudo密码提示。
有办法:
./script.sh > script.out
仍然在终端上获得远程sudo密码提示?
在cli上为script.sh传递sudo密码不是一种选择。
非常感谢,
麦金太尔。
答案 0 :(得分:0)
您可以使用tee复制标准输入:
./script.sh | tee script.out
之后,您可以使用awk命令过滤输出内容
./script.sh | tee script.out | awk '/^Password/ {print;}'