[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[FDclone-users:00139] ${} について
- Subject: [FDclone-users:00139] ${} について
- From: Tetsuo Tomokuni <tomokuni@my.email.ne.jp>
- Date: Fri, 11 Apr 2003 14:35:24 +0900
友國です。
仕事でいろいろやっていて気がついたのですが、
${} の処理が以下のようになっています。
(1)
fdsh-2.00a$ eval echo "\"${hoge:-'} {'}\""
'} {'
fdsh-2.03$ eval echo "\"${hoge:-'} {'}\""
'} {'
bash-2.05a$ eval echo "\"${hoge:-'} {'}\""
'} {'
zsh-4.06a$ eval echo "\"${hoge:-'} {'}\""
' {'}
ash-0.3.8$ eval echo "\"${hoge:-'} {'}\""
' {'}
/bin/sh(sparc solaris7)$ eval echo "\"${hoge:-'} {'}\""
' {'}
(2)
fdsh-2.00a$ eval echo "\"\${hoge:-hoge \\\${fuga}\\\${piyo}hoge_fuga_piyo}\""
hoge ${fuga}${piyo}hoge_fuga_piyo
fdsh-2.03$ eval echo "\"\${hoge:-hoge \\\${fuga}\\\${piyo}hoge_fuga_piyo}\""
hoge \\\\hoge_fuga_piyo
bash-2.05a$ eval echo "\"\${hoge:-hoge \\\${fuga}\\\${piyo}hoge_fuga_piyo}\""
hoge ${fuga${piyo}hoge_fuga_piyo}
zsh-4.06a$ eval echo "\"\${hoge:-hoge \\\${fuga}\\\${piyo}hoge_fuga_piyo}\""
hoge ${fuga${piyo}hoge_fuga_piyo}
ash-0.3.8$ eval echo "\"\${hoge:-hoge \\\${fuga}\\\${piyo}hoge_fuga_piyo}\""
hoge ${fuga${piyo}hoge_fuga_piyo}
/bin/sh(sparc solaris7)$ eval echo "\"\${hoge:-hoge \\\${fuga}\\\${piyo}hoge_fuga_piyo}\""
hoge ${fuga${piyo}hoge_fuga_piyo}
(3)
fdsh-2.00a$ eval echo "\"\${hoge:-hoge \\\${fuga\}\\\${piyo\}hoge_fuga_piyo}\""
hoge ${fuga\}${piyo\}hoge_fuga_piyo
fdsh-2.03$ eval echo "\"\${hoge:-hoge \\\${fuga\}\\\${piyo\}hoge_fuga_piyo}\""
"${hoge:-hoge \\${fuga\}\\${piyo\}hoge_fuga_piyo}": bad substitution
bash-2.05a$ eval echo "\"\${hoge:-hoge \\\${fuga\}\\\${piyo\}hoge_fuga_piyo}\""
hoge ${fuga\}${piyo\}hoge_fuga_piyo
zsh-4.06a$ eval echo "\"\${hoge:-hoge \\\${fuga\}\\\${piyo\}hoge_fuga_piyo}\""
hoge ${fuga}${piyo}hoge_fuga_piyo
ash-0.3.8$ eval echo "\"\${hoge:-hoge \\\${fuga\}\\\${piyo\}hoge_fuga_piyo}\""
hoge ${fuga\}${piyo\}hoge_fuga_piyo
/bin/sh(sparc solaris7)$ eval echo "\"\${hoge:-hoge \\\${fuga\}\\\${piyo\}hoge_fuga_piyo}\""
hoge ${fuga\}${piyo\}hoge_fuga_piyo
上記の結果を得ましたが、 FD-sh の Bug なのかどうか、
よく分かっておりません。;-)
ですが、上記の shell のうち、間違っている(意図していない
動作をしている)のがあるのは確かだと思いますので、ご報告
致しました。
で、何をしていたのか、といいますと、 Solaris7 の /bin/sh で
eval echo "\"\${hoge:-...
として
hoge ${fuga}${piyo}hoge_fuga_piyo
が返ってくるようにしたいと思って、いろいろやっていたのでした。
上の例でいきますと (2) の fdsh-2.00a や (3) の zsh-4.06 が
望みの結果となりますが、 /bin/sh ではうまくいきませんでした。
# 実はこっちの方が知りたかったりしていますが。(^^;
.~. ----------------------------------------
/V\ 友國 哲男 (TOMOKUNI Tetsuo)
// \\ E-mail: tomokuni@my.email.ne.jp
/( )\ tomokuni@netfort.gr.jp
^`~'^ http://www.netfort.gr.jp/~tomokuni/