2008年1月29日

[linux-users:107913] Re: シェル ${1+"$@"} とは?

こんばんは、

$@だけだと $@が空の時エラーになるので
${1+"$@"} と記述すると
$@が空の場合は、$1 になって
エラーにならない
と言う事でしょうか?


----- Original Message -----
>Date: Fri, 25 Jan 2008 10:22:00 +0900
>From: Kazuhiro NISHIYAMA <zn@xxxxx>
>Subject: [linux-users:107907] Re: シェル
> ${1+"$@"} とは?
>To: linux-users@xxxxx
>
>
>西山和広です。
>
>At Thu, 24 Jan 2008 18:39:33 +0900,
>Shinnosuke Kimura wrote:
>>
>> なんで最初から
>>
>> "$prog" "$@"
>>
>> としないのでしょうか。
>
>autoconfのinfoに説明があるような理由ではないでしょうか。
>
> http://www.geocities.jp/fut_nis/html/autoconf-ja/Shell-Substitutions.html
>| $@
>|
>| 最も有名なシェルの移植性の問題の一つは,"$@"との関連です.位置に依
>| 存する引数が無いとき,POSIXでは"$@"を何もないことと等価になってい
>| ますが,オリジナルのUnixバージョン7のBourneシェルはその代わりに""
>| として扱い,この動作はDigital Unix 5.0のようにそれ以降の実装でも提
>| 供されています.
>|
>| この移植性の問題を回避する伝統的な方法は,${1+"$@"}を使用することです.
>
>
>--
>|ZnZ(ゼット エヌ ゼット)
>|西山和広(Kazuhiro NISHIYAMA)
>
>

投稿者 xml-rpc : 2008年1月29日 21:17
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/69221
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。