Linux システムでのコマンド ライン スクリプトのインタープリタ言語として Perl が好まれていた時代は終わりました。現在では、Python、Ruby、PHP など、より多くの選択肢があります。すでに Web サイト用の PHP コードを作成しており、この言語に精通している場合は、コマンド ラインで PHP を使用すると驚くほど高速で、その効果が素晴らしいことがわかるでしょう。
スクリプトでは、スクリプト言語の最大の機能の 1 つは、ファイルを操作してユーザー入力を取得することです。 PHP は、他のスクリプト言語と同様にこれらをうまく処理します。
たとえば、PHP を使用してスクリプトの実行中にユーザー指定の入力の読み取りを処理するには、次を使用します:
#!/usr/bin/php
function read_input()
{
$fp = fopen(" /dev /stdin", "r");
$input = trim(fgets($fp, 255));
fclose($fp);
return $input;
}
printf("あなたの名前を入力してください: ") ;
$name = read_input();
printf("nHello, $name.n");
?>
上記で定義された read_input() 関数は STDIN から入力を抽出し、それを $ 入力変数に保存し、先頭と末尾の空白をクリーンアップして返します。
同じ原則は、標準ファイルの読み取りと操作にも適用できます。Linux にとって、STDIN は単なる別のファイルであることを覚えておいてください (同様に、上記の例で /dev/stdin を開く場合にも同じことが当てはまります)。
#!/usr/bin/php
if (file_exists($argv[1]))
{
$file = $argv[1];
} else {
printf("エラー:ファイル '$file' は存在しません!n");
exit 1;
}
$data = file($file);
$c = 1;
foreach ($data as $line)
{
printf(sprintf ("[%s]: %s", $c, $line));
$c ;
}
上記の例では、PHP スクリプトはコマンド ライン ファイルに渡された各行を読み取り、現在の行を出力します。番号。ファイルが存在しない場合、スクリプトはエラー メッセージを出力し、戻りコード 1 で終了します (1 はエラーを示します。通常の動作では、スクリプトは戻りコード 0 で終了します)。ここでは file() 関数が使用されており、ファイルの各行を配列 (この例では配列は $data) に読み取り、foreach() ステートメントで使用して配列を 1 つずつループします。ファイル内の時間 1 行。
PHP は Web ベースのプログラミングに厳密に限定されなくなりました。これは、柔軟かつ高速なコマンド ライン スクリプトの作成に簡単に適用できます。同様に、データベース操作など、Web スクリプトで実行できるほとんどすべてのことは、PHP コマンドライン スクリプトを使用して簡単に実行できます。