入ると、シェルログをエコーし​​て終了します。

入ると、シェルログをエコーし​​て終了します。

コマンドを入力すると、コマンドはリモートサーバーで認証され、一連の操作を実行します。パスすると、bashシェルとその環境が提供されます。

私の目標は、後で確認できるように、これらのログを自分の端末に印刷して保存することです。私のコマンドの名前がだとしましょうtarget

target と入力すると、次のメッセージが表示されます。

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

最後の行は、ターゲットシェル環境に入ったことを意味します。

試してみましたが、echo $(target) > output.log入力するまで停止しますCTRL+C

環境: CentOS 6.10

修正する

コンピュータをアクティブ化するときにこのスクリプトが自動的に実行されることを望んでいるとします。ただし、シェルに入ってから離れないため、ターゲットコマンドを実行しても停止します。

#!/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

おすすめ記事