9.4.6 adshmktempコマンド(ほかと重ならない名前を持つファイルを作成する)
形式
adshmktemp プリフィックス
機能
他と重ならない名前を持つファイルを作成し,そのパス名を標準出力に出力します。
作成されるファイルのパス名を次に示します。
一時ファイルディレクトリパス名 プリフィックス_ジョブ識別子_プロセスID_時間情報_ファイル通し番号
- 一時ファイルディレクトリパス名
-
TEMP_FILE_DIRパラメーターによって定義されたディレクトリのパス名。
- プリフィックス
-
引数に指定したプリフィックス。
- ジョブ識別子
-
10進数の6桁のジョブ識別子。6桁未満の場合,前方に0を付加して6桁にする。
- プロセスID
-
10進数のプロセスID。5桁未満の場合,前方に0を付加して5桁にする。5桁以上の場合,そのままの値とする。
- 時間情報
-
時間情報を16進数で表した数値文字列。
- ファイル通し番号
-
1つのプロセス内で作成するファイルパス名の通し番号。0001から4095までの10進数4桁の数値文字列。
1つのプロセス内で,ファイル通し番号が4095を超えるまでファイルを作成できる。
UNIXの場合,作成するファイルのパーミッションは,ファイルの所有者(作成者)の部分だけumask値の指定に従い,グループおよびその他のユーザーのアクセス権限部分は常に0になります。
Windowsの場合,権限の指定はありません。
引数
- プリフィックス ~<任意文字列>((1~128バイト))
-
ファイル名の先頭に付与する文字列を指定します。
終了コード
終了コード |
意味 |
---|---|
0 |
正常終了 |
1 |
エラー終了 |
注意事項
-
作成したファイルパス名がOSの許容するパス名の最大バイト数を超える場合,エラー終了します。
-
引数のプリフィックスに次の文字を含む文字列を指定するとエラー終了します。
UNIXの場合:「/」
Windowsの場合:「/」,「\」,「:」
-
引数のプリフィックスにパス名として使用できない文字を指定しないでください。指定した場合,ファイルの作成に失敗してエラー終了します。
使用例
# UNIX版でTEMP_FILE_DIRパラメーターがデフォルト値の場合 adshmktemp testjob # 以下のファイルが作成され,標準出力にパス名が出力される。 /var/opt/jp1as/temp/testjob_000150_12278_557539f8_0001 # Windows版でTEMP_FILE_DIRパラメーターに「E:\temp」を指定した場合 adshmktemp testjob # 以下のファイルが作成され,標準出力にパス名が出力される。 E:\temp\testjob_000030_00826_55265a48_0002 # ファイルをadshfileコマンドに指定し,echoコマンドで文字列を出力する。 # adshfileコマンドによって,ファイルはジョブ終了時に削除される。 tempfile=$(adshmktemp job1) "${ADSH_DIR_BIN}adshfile" -n del -a del "$tempfile" echo "OK" > "$tempfile"