
誤ってecho $$
コマンドラインに何かを入力しましたが、エラーメッセージの代わりに5桁の数字が表示されました。他の端末でこれを繰り返しましたが、echo $$
毎回5桁の数字が出ました。$$
数字とはどういう意味ですか?
答え1
$$
現在のプロセスのPID。
様々な用途のさらなる例は以下の通りである。
$_
多くの機能のデフォルトパラメータです。
$。
最後に読み取ったファイルハンドルの現在のレコードまたは行番号を保存します。読み取り専用で、ファイルハンドルが閉じるとゼロにリセットされます。
$/
入力レコード区切り記号を保存します。レコード区切り文字は通常改行文字です。ただし、$/が空の文字列に設定されている場合、入力ファイル内の2つ以上の改行が1つとして扱われます。
$、
print() 関数の出力区切り記号です。通常、この変数は空の文字列です。ただし、パラメータリストの各要素を別々の行に印刷する必要がある場合は、$を改行文字に設定すると便利です。
$\
print() 関数に渡された引数に見えない最後の要素として追加されます。通常、空の文字列ですが、印刷するすべての項目に改行または他のサフィックスを追加したい場合は、サフィックスを$に割り当てることができます。
$
数値印刷の基本形式です。通常、この値は%.20gに設定されていますが、第9章の「例:印刷の見直し」に記載されている書式指定子を使用して一意のデフォルト書式を指定できます。
$%
デフォルトのファイルハンドルの現在のページ番号を保存します。 select() を使用してデフォルトのファイルハンドルを変更すると、$% は新しく選択したファイルハンドルのページ番号を反映するように変更されます。
$=
デフォルトのファイルハンドルの現在のページ長を保存します。デフォルトのファイルハンドルを変更すると、$ =が変更され、新しいファイルハンドルのページ長が反映されます。
$-
印刷する残りの行数のデフォルトのファイルハンドルを保存します。デフォルトのファイルハンドルを変更すると、$ - が変更され、新しいファイルハンドルで印刷する残りの行数が反映されます。
$~
デフォルトのファイルハンドルを保持するデフォルトの行形式の名前。通常、ファイルハンドルの名前と同じです。
$^
デフォルトのファイルハンドルを保持するデフォルトのヘッダー形式の名前。通常、_TOPが追加されたファイルハンドル名と同じです。
$|
0以外の場合、出力バッファは各write()またはprint()関数の後にフラッシュされます。通常は0に設定します。
$?
最後のパイプを閉じる、バックティック文字列、またはsystem()関数の状態を保存します。
$&
最後に成功したパターンマッチと一致する文字列を保存します。
$ `
最後に成功したパターンマッチングと一致した文字列よりも前の文字列を保存します。
$ '
最後に成功したパターンマッチと一致するコンテンツの後に続く文字列を保存します。
$+
最後に成功したパターンマッチングで、最後の括弧に一致する文字列を保存します。たとえば、/Fieldname: (.)|ファイル名: (。)/ && ($fName = $+); 2つの可能なスペルのうち、どのスペルが使用されているかわからない場合でも、フィールド名が検索されます。
$*
^と$パターンアンカーの解釈が変更されました。 $* を 1 に設定することは、/m オプションと正規表現のマッチングと代替演算子の使用と同じです。通常 $* は 0 と同じです。
$0
実行中のPerlスクリプトを含むファイルの名前。
$
この変数セット($1、$2、$3など)は正規表現パターンメモリを保持します。パターン内の各括弧のセットは、角括弧で囲まれたコンポーネントに一致する文字列を $ 変数の 1 つに格納します。
$[
デフォルトの配列インデックスを保存します。通常は0に設定されます。ほとんどのPerlの作者は、正当な理由なくこれを変更しないように助言します。
$]
使用しているPerlのバージョンを識別する文字列が含まれています。数値として使用する場合は、バージョン番号にパッチレベルを加えた値を1000で割ったものと同じです。
$」
二重引用符で囲まれた文字列に配列変数を挿入するときにリスト要素間で使用される区切り文字。通常、その値は空白文字です。
$;
多次元配列シミュレーション用の下付き文字区切り記号を保存します。その使用はこの本の範囲外です。
$!
数値コンテキストで使用されている場合は、errnoの現在の値を保存します。文字列コンテキストで使用すると、errnoに関連するエラー文字列が格納されます。
$@
最後のeval()関数呼び出しの構文エラーメッセージ(存在する場合)を保存します。
$<
このUNIXベースの変数は、現在のプロセスの読み取りuidを保持します。
$>
このUNIXベースの変数は、現在のプロセスの有効なuidを保持します。
$)
このUNIXベースの変数は、現在のプロセスの読み取りGIDを保持します。プロセスが複数のグループに属している場合、$)はスペースで区切られたグループ名で構成される文字列を保持します。
$:
^レポート形式の文字が単語の改行を実行するときに単語を終了するために使用できる文字で構成される文字列を保存します。通常、文字列はスペース、改行、ダッシュ文字で構成されます。
$^D
デバッグフラグの現在の値を保存します。より多くの情報を知りたいです。
$^F
最大のシステムファイル記述値を保存します。通常2に設定されます。この変数の使用はこの本の範囲外です。
$^私は
-iコマンドラインオプションで指定された内部編集用にバックアップファイルを作成するために使用されるファイル拡張子を保存します。たとえば、「.bak」のようになります。
$^L
レポートを印刷するためにページをポップアップするために使用される文字列を保存します。
$^P
この変数は、デバッガがそれ自身をデバッグしないようにクリアする内部フラグです。
$^T
スクリプトの実行が開始された時間を秒単位で保存します。
$^W
-wコマンドラインオプションの現在の値を保存します。
$^X
現在のスクリプトの実行に使用されるPerlインタプリタのフルパス名を格納します。
源泉: