Tukubaiオンラインコマンドマニュアル

cgi-name(USP Lab(1))

【名前】

cgi-name : CGI POSTメソッドで受け渡されるデータをネーム形式に変換

【書式】

Usage   : cgi-name [-d<c>][-i<string>] <param_file>
Option  :          [--template <html>]
Version : Thu Dec 15 13:46:38 JST 2011

【説明】

cgi-nameはWEBサーバのCGI POSTメソッドで受け渡されるデータをネーム形式へ変換する
。

【例1】

Webサーバよりplace=tokyo&country=japanという文字列が渡される場合、キー値と値を
ネーム形式に変更して出力する。

$ dd bs=$CONTENT_LENGTH | cgi-name
place tokyo
country japan
$

【例2】

改行(%0D%0A)はnに変換される。

$ echo 'place=%E6%9D%B1%E4%BA%AC%0D%0A%E5%A4%A7%E9%98%AA&country=japan' | \
cgi-name
place 東京n大阪
country japan
$

【例3】

-dオプションを指定すると半角空白は削除あるいは指定文字に変換される。

$ echo 'place=tokyo osaka&country=japan' | cgi-name
place tokyo osaka
country japan
$

$ echo 'place=tokyo osaka&country=japan' | cgi-name -d_
place tokyo_osaka
country japan
$

$ echo 'place=tokyo osaka&country=japan' | cgi-name -d
place tokyoosaka
country japan
$

【例4】

-iオプションを指定することで、返される文字列がヌルの場合の初期値を指定できる。

$ echo 'place=&country=japan' | cgi-name
place
country japan
$

$ echo 'place=&country=japan' | cgi-name -i somewhere
place somewhere
country japan
$

【例5】

--templateオプションを指定することで、指定したHTMLテンプレートより、radioboxと
checkboxの名称を取り出し、その名称でデータが出力されなければ、出力をその名称で
補完する。radioboxやcheckboxは選択しないでsubmitすると値そのものが出力されない
。何も選択しなかったというデータを生成するためにこのオプションを使用する。

$ cat html
-----省略
<input type="radiobox" name="XXXX" value="A" />
<input type="radiobox" name="XXXX" value="B" />
<input type="radiobox" name="XXXX" value="C" />
<input type="checkbox" name="YYYY" value="a" />
<input type="checkbox" name="YYYY" value="b" />
<input type="checkbox" name="YYYY" value="c" />
-----省略
$

$ dd bs=$CONTENT_LENGTH | cgi-name -i_ --template html
-----省略
XXXX _
YYYY _
-----省略
$

【例6】

radiobox checkboxがhtmlテンプレートのmojihame -lコマンド対象部分にある場合にお
いても、タグ名_%数字を認識して選択値がなくてもタグ名を出力する。

$ cat html
-----省略
<!-- MOJIHAME -->
<input type="radiobox" name="X_%1" value="%2" />
<!-- MOJIHAME -->
-----省略
$

$ dd bs=$CONTENT_LENGTH | cgi-name -i_ --template html
-----省略
X _
-----省略
$

【備考】

CGI POSTメソッドで受け渡されるデータには改行がない。通常のファイルとして使用す
るには、ファイル末に改行コードを付加しておくほうが扱いやすい。cgi-nameコマンド
はファイル末の改行があってもなくても正しく値を取り出す。

【関連項目】

mime-read(USP Lab(1))、nameread(USP Lab(1))、ネーム形式(USP Lab(5))

last modified: 2012-04-13 17:07:01
Contact us: uecinfo@usp-lab.com
Copyright (c) 2012 Universal Shell Programming Laboratory All Rights Reserved.
