68user's page 掲示板

Prev< No. 4495〜4496> Next  [最新発言に戻る] [過去ログ一覧]
No. 4495 # 68user 2006/02/02 (木) 14:04:20
>>4493
csh は馬鹿なので、シングルクォートの中にシングルクォートを書くことはできません。
つまり、
    echo '\''
はエラーです (sh も同様)。同様に
    echo "\""
もエラーになります (sh ならこっちは OK)。

で、csh には (sh も)
        echo "文字列1""文字列2""文字列3"
        echo "文字列1"文字列2"文字列3"
        echo '文字列1''文字列2''文字列3'
        echo '文字列1'文字列2'文字列3'
のいずれも、
        echo "文字列1文字列2文字列3"
と (基本的には) 同じ、という性質があります。

よって、csh で
    'abcdef'
を出力したい場合は、
    echo "'"abcdef"'"
    echo "'""abcdef""'"
などとします。

シェルのクォートは「ネストさせない」が鉄則です。

No. 4496 # 2006/02/03 (金) 15:40:28
>> 4495
無理なのですか。

一度、ファイルから取得したものループでechoコマンドを
使いながら編集するということですね。

#!/bin/csh

set ALL="Tokyo Oosaka Nagoya Kyoto"

@ i = 1
foreach EACH ($ALL)

        if ($i == 1) then
                set ALLS=`echo "'"$EACH"'"`
        else
                set ALLS=`echo $ALLS",'"$EACH"'"`
        endif
        @ i++
end
echo $ALLS

Prev< No. 4495〜4496> Next  [最新発言に戻る] [過去ログ一覧]