前回の投稿:Ubuntuでcshを起動するための実行環境を整備する。
キックシェルはenvファイルと起動シェルの引数を渡して、起動する。
例
./app_batch.csh ABC001.env test.csh
キックシェル:app_batch.csh
envファイル:ABC001.env
起動シェル:test.csh
それぞれのコードは以下の通り
1.キックシェル(app_batch.csh)
このスクリプトは環境設定ファイルを読み込み、指定された起動シェルを実行します。
app_batch.csh
#!/bin/csh
# 第一引数: 環境設定ファイル
setenv ENV_FILE $1
# 第二引数: 起動シェル
set SCRIPT_FILE = $2
# 環境設定ファイルを読み込む
source $ENV_FILE
# 起動シェルを実行する
source $SCRIPT_FILE
- 環境設定ファイル (ABC001.env)
このファイルには環境変数の設定が含まれています。
ABC001.env
# ABC001.env
# 環境変数の設定
setenv DATABASE_HOST "localhost"
setenv DATABASE_USER "user"
setenv DATABASE_PASSWORD "password"
setenv WORK_DIR "/path/to/work/dir"
- 起動シェル (test.csh)
このファイルには実行するスクリプトのロジックが含まれています。
test.csh
#!/bin/csh
# test.csh
# 環境変数の表示
echo "Database Host: $DATABASE_HOST"
echo "Database User: $DATABASE_USER"
echo "Work Directory: $WORK_DIR"
# 実行するロジック
# ここに実際のバッチ処理を記述します
echo "Running batch process..."
# 例: 作業ディレクトリに移動
cd $WORK_DIR
# 例: 任意のコマンドを実行
# your_command_here
4.説明
・app_batch.csh は、引数として指定された環境設定ファイル (ABC001.env) と起動シェル (test.csh) を読み込み、起動シェルを実行します。
・ABC001.env は環境変数を設定します。
・test.csh は、設定された環境変数を使って実際の処理を行います。
5.まとめ
この手順に従って、Cシェルスクリプトを実行することで、環境設定を柔軟に変更しつつ、バッチ処理を実行できます。
次回は、より実用的にキックシェルを使用できるようにキック時のスクリプトを考えて行きます
次回記事:【csh】キックシェルの作成