タグ

Unixとコマンドに関するadvblogのブックマーク (2)

  • PHPからunixシェルコマンドを実行しその結果を取得する。|プログラムメモ

    シェルコマンドを実行する関数は ・shell_exec() もしくは バッククォート(`)でコマンドを囲む ・passthru() ・system() ・exec() ・popen() ・proc_open() と6つありますが、 それぞれの違いは ・shell_exec() 「実行結果の出力がテキスト」のコマンドを実行する場合に使用する ・passthru()  「実行結果の出力がバイナリ」のコマンドを実行する場合に使用する ・system()   コマンド実行結果のうち最後の一行だけ取得 ・exec()     コマンド実行結果を指定した変数へ返す(配列で取得) ・popen()    プロセスへのファイルポインタをオープンする ・proc_open()  プロセスへの入出力用ファイルポインタを開く ・shell_exec()【コマンド実行結果を全て取得】(スカラーで取得) ・pass

  • 初めてシェルスクリプトを書くときに知っておきたいこと - Unix的なアレ

    他の言語をを書き慣れてから、シェルスクリプトを書こうとするとしょうもない部分でハマったりすることがあります。「簡単な処理だからシェルスクリプトで書くか」と思っても無駄に時間がかかってしまっては仕方ないですよね。 今回は初めてシェルスクリプトを書くときに、ハマりそうな点について説明をしたいと思います。 実行権限をつける 単純にファイルを生成しても下記の用に実行しようとしても実行はできません。 # touch test # ./test sh: ./test: Permission denied # touch foo # ./foo sh: ./foo: Permission denied これはファイルに実行権限がついていないため、起きる現象です。 chmodコマンドを使って実行権限をつけてやりましょう。 # chmod +x test # ./test # chmod +x foo #

    初めてシェルスクリプトを書くときに知っておきたいこと - Unix的なアレ
  • 1