バッチモードでSASジョブを送信するにはどうすればよいですか?

バッチモードでSASジョブを送信するにはどうすればよいですか?

使っていますSAS、Unix(およびその他)用の分析パッケージです。私はPuTTYを使ってUnixシステムに接続しています。

Puttyを通じて10のSASプログラムを提出したいと思います。私の要件は、各タスクを順番に実行する必要があることです(たとえば、2番目のタスクは最初のタスクの後に実行し、3番目のタスクは2番目のタスクが完了した後に実行する必要があります)。ジョブの完了実行中にエラーが発生した場合は停止する必要があります(例えば、2番目のジョブが実行されている場合など)。ジョブにエラーがあるため、3番目のジョブを実行しないでください。)

現在、以下のようにジョブを送信していますが、問題は上記のようにすべてのジョブが同時に開始されることです。一度に1つずつ必要です。

x sasb -sv sas92 code1.sas;
x sasb -sv sas92 code2.sas;
x sasb -sv sas92 code3.sas;

ここでのコマンドxSASでUnixコマンドを実行する方法sasbは私がこのように実行するコマンドの名前であり、同時にすべてのタスクを実行しているようです。

ベストアンサー1

bashでの実行(リモートサーバーで使用していると推測されます)は、;コマンドが順番に実行されるように区別されます。私の考えでは、あなたのコードがバックグラウンドプロセスを開始しているようです。

これを試して、&&前の実行が成功した場合にのみ次の実行を許可します。

x sasb -sv sas92 code1.sas &&
x sasb -sv sas92 code2.sas &&
x sasb -sv sas92 code3.sas

おすすめ記事