进入时回显 shell 日志,然后退出

进入时回显 shell 日志,然后退出

当我键入命令时,该命令将通过远程服务器进行身份验证并执行一系列操作。如果通过,它会给我一个 bash shell 及其环境。

我的目标是保存这些打印到我的终端中的日志以供将来检查。假设我的命令名为target.

当我输入 target 时,它会抛出以下消息。

Version:        V1.94
Options:
Date:           Thu Jun  6 17:18:39 2019
OS:             CentOS release 6.10 (Final)
....
[DEV]target>

请注意最后一行暗示我已进入目标 shell 环境。

我已经尝试过echo $(target) > output.log,但它会卡住,直到我打字CTRL+C

环境:CentOS 6.10

更新

假设我想让这个脚本在我激活机器时自动运行。但是,在执行目标命令时仍然会卡住,因为它进入了 shell 并且没有离开。

#!/bin/bash
script -c target output.log
FILENAMEME=output.log
aws s3 cp "$FILENAME" s3://logs/

答案1

您可能想尝试script

script -c target output.log

这将启动命令target并将整个会话的记录保存到target文件中,直到终止output.log。如果命令(您的target)有几个单词长,请引用完整的命令。

script( )参见手册man script

答案2

如果您无法更改target命令本身,那么这应该会有所帮助:

target | tee output.bak

output.bak将包含所有输出的副本(在本例中只是标准输出),因此如果您只想要初始信息,则必须修剪它。

相关内容