Skip to content

Latest commit

 

History

History
87 lines (54 loc) · 4.29 KB

usage01-j.md

File metadata and controls

87 lines (54 loc) · 4.29 KB

[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]