逆引きシェルスクリプト/ユニークな一時ファイル名を作成する
の編集
Top
/
逆引きシェルスクリプト
/
ユニークな一時ファイル名を作成する
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
(no template pages)
#navi(../) * ユニークな一時ファイル名を作成する [#r66acfe9] ユニークな値の一時ディレクトリやファイルの作成に''mktemp''コマンドがありますが、PIDを利用することもできます。~ (PIDはプロセス番号のことです) mktempについては[[逆引きUNIXコマンド/ユニークな値の一時ディレクトリ・ファイルを作成する方法]]を参照してください。 #br #htmlinsertpcsp(linux_ads_top.html,linux-sp.html) ** PIDの利用 [#tcefe2e7] シェルスクリプトの特殊な変数として$$があります。~ $$は動作しているシェルスクリプトのプロセスID(PID)が格納されています。 以下のサンプルシェルスクリプトを複数起動してプロセスIDを利用しているため、ユニークなファイル名(ディレクトリ名)を作成することができます。~ trapコマンドを利用してシグナルを受信したらワークファイルを削除する後処理を追加してあります。~ trapコマンドについては、[[逆引きシェルスクリプト/シグナルを受ける方法]]を参照のこと。 #ref(uniq_file.sh) #!/bin/bash trap "rm /tmp/temporary.$$; exit 1" 1 2 3 15 while : do date >> /tmp/temporary.$$ sleep 1 done ** 実行例 [#g3e4a8de] 以下の通り、複数の本スクリプトを起動すると/tmp/ディレクトリにワークファイルができていることが確認できます。~ ワークファイルの後ろにはPIDが付加されています。~ また、Ctrl+Cを押された時、上記のサンプルスクリプトではワークファイルを削除しスクリプトが終了します。 #ref(uniq_file-01.gif) #br #htmlinsertpcsp(linux_ads_btm.html,linux-sp.html) #br
タイムスタンプを変更しない
#navi(../) * ユニークな一時ファイル名を作成する [#r66acfe9] ユニークな値の一時ディレクトリやファイルの作成に''mktemp''コマンドがありますが、PIDを利用することもできます。~ (PIDはプロセス番号のことです) mktempについては[[逆引きUNIXコマンド/ユニークな値の一時ディレクトリ・ファイルを作成する方法]]を参照してください。 #br #htmlinsertpcsp(linux_ads_top.html,linux-sp.html) ** PIDの利用 [#tcefe2e7] シェルスクリプトの特殊な変数として$$があります。~ $$は動作しているシェルスクリプトのプロセスID(PID)が格納されています。 以下のサンプルシェルスクリプトを複数起動してプロセスIDを利用しているため、ユニークなファイル名(ディレクトリ名)を作成することができます。~ trapコマンドを利用してシグナルを受信したらワークファイルを削除する後処理を追加してあります。~ trapコマンドについては、[[逆引きシェルスクリプト/シグナルを受ける方法]]を参照のこと。 #ref(uniq_file.sh) #!/bin/bash trap "rm /tmp/temporary.$$; exit 1" 1 2 3 15 while : do date >> /tmp/temporary.$$ sleep 1 done ** 実行例 [#g3e4a8de] 以下の通り、複数の本スクリプトを起動すると/tmp/ディレクトリにワークファイルができていることが確認できます。~ ワークファイルの後ろにはPIDが付加されています。~ また、Ctrl+Cを押された時、上記のサンプルスクリプトではワークファイルを削除しスクリプトが終了します。 #ref(uniq_file-01.gif) #br #htmlinsertpcsp(linux_ads_btm.html,linux-sp.html) #br
テキスト整形のルールを表示する
添付ファイル:
uniq_file.sh
454件
[
詳細
]
uniq_file-01.gif
544件
[
詳細
]