8.5.6 suコマンド(実行ユーザーの権限でプログラムを実行する)
形式
su [-] ユーザー名 {-c コマンドライン|スクリプトファイルのパス名} [実行時パラメーター]
このコマンドはサンプルスクリプトファイルscript_su1を基に作成します。作成手順については「(2) スクリプト形式のUNIX互換コマンドを使うための準備【Windows限定】」を参照してください。
機能
引数に指定されたコマンドを実行します。ユーザー名の指定は無視され,実行ユーザーの権限で実行されます。
既存のジョブ定義スクリプトにsuコマンドが記述されている場合に,ジョブ定義スクリプトを書き換えないでWindowsに移行できます。
引数
- -
指定を無視します。
- ユーザー名
指定を無視します。
- -c コマンドライン
ジョブで実行するコマンドラインを指定します。
コマンドラインには,シェル運用コマンド,UNIX互換コマンドなど,ジョブ定義スクリプトファイルに記述できるコマンドを指定できます。
- スクリプトファイルのパス名
実行するスクリプトファイルのパス名を指定します。
- 実行時パラメーター
コマンドラインまたはスクリプトファイルのパス名の位置パラメーターに格納する値を指定します。スペースを実行時パラメーターとして指定する場合は,その文字列を"(ダブルクォーテーション)で囲んでください。
終了コード
終了コード |
意味 |
---|---|
0 |
正常終了 |
1以上 |
エラー終了 |
注意事項
実行ユーザーに必要な権限を与えてからこのコマンドを実行してください。
使用例
ジョブ定義スクリプトの定義例を次に示します。サンプルスクリプトファイルscript_su1を基にsuコマンドが作成されていることを前提とします。
実行ユーザーに必要な権限を与え,引数-cに複数のコマンドを指定して実行します。
# 必要な権限を持ったユーザーからコマンドを実行 su - ${DBADMIN} -c 'export PDDIR=C:\\db\\db1; start -q'
実行ユーザーに必要な権限を与え,引数にスクリプトファイル名を指定して実行します。
# 必要な権限を持ったユーザーからジョブ定義スクリプトを実行 su - ${DBADMIN} '.\\DBSTART.ash'