2017-12-17 3 views
1

私はbashスクリプトを作成してVMを作成していますので、特定の時点でコマンドラインの出力を記録する必要があります。scriptコマンドを使用しようとしています。 私のスクリプトの実行を継続し、私のコマンドラインを記録する方法はありますか?'script'コマンドを使用した後にスクリプトを実行する方法

スクリプトは次のようになります。

script screen.log 
for i in 1 2 3 
do 
onetemplate instantiate "mano" --user $CUSER --endpoint $CENDPOINT 
done 
exit 

と私は出口でそれをカットする必要があります。

答えて

0

ちょうどscriptが新しいシェルを開始します。 scriptにコマンドを実行させるには、script -cコマンドを使用します。これはすべてmanual pageに記載されています。

あなたは試してみたいことがあります。

export CUSER=... 
export CENDPOINT=... 
script screen.log <<\EOF 
for i in 1 2 3 
do 
    onetemplate instantiate "mano" --user $CUSER --endpoint $CENDPOINT 
done 
EOF 

exportscriptによって実行シェルで使用可能な変数CUSERCENDPOINTを行う必要がある。)私は-cオプションを使用する場合、どのよう

+0

これは動作していないようですが、スクリプトの一部がログに記録され、次はかなりクラッシュします。 – Lalano

+0

@Laris:具体的には?何がうまくいかない? 'onetemplate instantiate" mano "--user $ CUSER --endpoint $ CENDPOINT'を3回実行し、結果を' screen.log'に記録する必要があります。ところで、 'onetemplate instantiate ... >> screen.log'の何が問題なのですか?私はあなたのロギング方法として 'script'を選んだ理由が不思議です。 – AlexP

+0

コマンド>ファイルメソッドを使用しようとしましたが、コマンドが全く機能しない場合は、単なるツールの問題だと思いますが、スクリプトの出力でhttps://が返されますprnt.sc/hoi2l2パスワードを入力しても、それ以上のことはしませんが、 – Lalano

0

どのようにすればいいのですか?私が好きなように使うと

script -c onetemplate instantiate "mano" --user xxxxxx --endpoint xxxxxx 

--userは認識されないオプション