UEC - UNIXを深く理解し、シェルプログラミングを極めるコミュニティサイト

- Tukubaiマニュアル
  - cgi-name(1)
  - check_attr_name(1)
  - check_need_name(1)
  - comma(1)
  - count(1)
  - ctail(1)
  - delf(1)
  - divsen(1)
  - getfirst(1)
  - getlast(1)
  - gyo(1)
  - han(1)
  - join0(1)
  - join1(1)
  - join2(1)
  - juni(1)
  - kasan(1)
  - keta(1)
  - keycut(1)
  - loopj(1)
  - loopx(1)
  - map(1)
  - marume(1)
  - mdate(1)
  - mime-read(1)
  - mojihame(1)
  - nameread(1)
  - plus(1)
  - rank(1)
  - ratio(1)
  - retu(1)
  - self(1)
  - sm2(1)
  - sm4(1)
  - sm5(1)
  - tarr(1)
  - tateyoko(1)
  - tcat(1)
  - unmap(1)
  - up3(1)
  - yarr(1)
  - ycat(1)
  - yobi(1)
  - ysum(1)
  - zen(1)
  - タグ形式(5)
  - ネーム形式(5)
  - フィールド形式(5)

# 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