[Prev] [Menu] [Next]

pgbash の起動と終了


  • 対話型環境

    対話型環境において pgbashをサブシェル(親のシェルから起動された子のシェル)として起動するには、ログインした後に /usr/local/bin/pgbash とタイプします。pgbashが起動されると、次の Welcomeメッセージが表示されます。

      prompt> /usr/local/bin/pgbash
      Welcome to Pgbash ( bash-x.x.x-release ) Ver.8 rx.x
    
      Type '?'  for help with pgbash commands.
      Type 'exit' or 'Ctrl+D' to terminate Pgbash.
    
      pgbash> exit
    

     最後に exit (もしくは Ctrl+D)を入力すると、pgbashは終了し元のログインシェルに戻ります。

    対話型環境では、pgbashは起動時に bashrcを読みその後 ~/.pgbashrcを読みます。~/.pgbashrcが存在しない場合は、/etc/pgbashrc を読み込みます。 尚、任意の場所の pgbashrc を使用する場合や、使用中に pgbashrc を変更した場合は、次のように source コマンドを使用して環境を更新します。

    pgbash> source ファイル名 (例: source /etc/pgbashrc)

  • シェルスクリプト

    シェルスクリプトとして Pgbashを起動するには次のようにします。

    1. エディタでシェルスクリプトを作成
    2. 「chmod +x シェルスクリプトファイル名」として実行許可を与える
    3. コマンドラインからシェルスクリプト名を指定して実行

    シェルスクリプトの終了で pgbashが終了することになります。

    シェルスクリプトは、スクリプトの先頭に #!/usr/local/bin/pgbash を記述します。尚、シェルスクリプトとして pgbashを起動した場合、bashrc や pgbashrc を読み込みません。pgbashrc の環境を読み込みたい場合は、source コマンドを指定します。

    #!/usr/local/bin/pgbash 
    ...
    #

    (注意)
    • シェルスクリプトの改行コードは LF コードです。CR+LF では、シェルスクリプトは実行できません。例えば、Windows のパソコン上で作成したファイルをバイナリモードでアップロードした場合などは、改行コードが CR+LF になってしまいますので注意が必要です。

    • シェルスクリプト内では alias を使用できません。 pgbashrcに alias を使って記述されたデータベース情報表示機能を使用する場合、source コマンドで pgbashrc を読み込んだ後に、pgbashrcに定義された関数名を指定します。

  • CGI(Webアプリケーション)

    CGI(Webアプリケーション)もシェルスクリプトです。ただ、Webから実行する点で、通常のシェルスクリプトとは異なります。Pgbashを起動するには次のようにします。

    1. エディタでCGIを作成
    2. cgi-bin ディレクトリ(CGIを実行できるディレクトリ)にコピーする
    3. 「chmod +x CGIファイル名」として実行許可を与える
    4. HTML の FORM文の中から CGIファイル名を指定して実行

    CGIの先頭には、次のような指定を行います。

    #!/usr/local/bin/pgbash 
    exec 2>&1   .............................bashのエラーメッセージを表示
    echo "Content-type: text/html" ..........必須
    echo ""   ...............................必須
    set EXEC_SQL_OPTION CGI; ................必須(CGIモードの切り替え)
    

    exec 2>1 は、bashのエラーメッセージをホームページに出力するための指示です。

    "Content-type:text/html"と " "の改行は、CGIプログラムにするための必須の出力です。

    「set EXEC_SQL_OPTION CGI」は、ホームページから入力されたデータ(GET/POSTで送信されたデータ)を解釈して、HTMLの INPUT文の NAMEで指定された名前と同じ名前のシェル変数に格納します。また、pgbashをCGIプログラムとして動作させるための各種初期設定を行います。

[Prev] [Menu] [Next]