Re: [Summary] tcsh% false ; ( echo $? ; pwd )
しらいです。
In article <040515231734.M0108865@ns.kobe1995.net>,
NAKAMURA Kazushi <kaz@kobe1995.net> wrote:
>中村和志@神戸です。
>>FreeBSD2.2.8で使えました。exprをfork&execしなくて済むと知ってしまった今、
>>tcshを使う理由が無くなってしまったような…。
>
>まだ残っていました。$変数:r 等です。
対象は FreeBSD 2.2.8 以降の ash でいいんですね?その辺りに
なると POSIX 準拠がほぼ実現されていますので、${%} や ${#} が
使える筈です。少なくとも 2.2.6 の /bin/sh では使えました。
>$ for i in *.jpg *.tif *.ppm;do convert -resize 750x500 $i $i:r.jpeg;done
>
>てな感じでワンライナーにしたいのですが、shだと $i:r が働きません。
$ for i in *.jpg *.tif *.ppm; do convert -resize 750x500 $i ${i%.*}.jpeg; done
拡張子が「.tar.gz」のように複数から成る場合は「${i%%.*}」
ですね。
流石に「package-1.0.4b-beta」みたいな「.」付の basename の
後ろに「.tar.gz」やら「.patch」やらついてる filename 群から
basename を取出すのは無理でしょうね。
尤もこれは csh でも無理っぽいけど。
--
しらい たかし
Fnews-brouse 1.9(20180406) -- by Mizuno, MWE <mwe@ccsf.jp>
GnuPG Key ID = ECC8A735
GnuPG Key fingerprint = 9BE6 B9E9 55A5 A499 CD51 946E 9BDC 7870 ECC8 A735