68user's page 掲示板

Prev< No. 3087〜3092> Next  [最新発言に戻る] [過去ログ一覧]
No. 3087 # 山田 2003/02/05 (水) 18:33:15
>>3086 ふくし
様、ご回答ありがとうございます。
cshです。
やりたいことは、
aaa.sh ZZ*.txt
と指定した時にshell内で、
set filename = arg[1]とし、
filenameに"ZZ*.txt"という文字列をセットしたいのです。

No. 3088 # ふくし 2003/02/05 (水) 20:05:51
>>3087 山田
さん

下で書いたつもりだったんですが (^^;;;
引数「ZZ*.txt」全体をシングルクォート '' で囲んだらどうなります?

No. 3089 # 山田 2003/02/05 (水) 21:20:34
>>3086 ふくし

>引数「ZZ*.txt」全体をシングルクォート '' で囲んだらどうなります?
やはりカレントの該当するファイルが引数に入ってしまいます。
arg[1]の内容が"ZZa.txt ZZb.txt ZZc.txt"というような感じです。
んー、こまっております(^^;)

No. 3090 # 68user 2003/02/05 (水) 21:48:17
>>3089 山田
    % cat hoge
    set filename='*.c'
    echo $filename

    % csh -fx hoge
    set filename=*.c
    echo *.c
    a.c b.c c.c d.c

というわけで、csh では ただの文字列として set しても、
glob 展開されます。よって、参照するたびに
    echo "$filename"
とダブルクォートで囲むか (面倒)、あるいは
    set noglob
で変数を展開しないようにする、と。

もっとよいのは perl や ruby などに乗り換えることです。

No. 3091 # ふくし 2003/02/06 (木) 02:29:54
>>3089 山田
さん、

知らぬこととはいえ失礼しました。
そんな致命的な非互換があろうとは、、。

シュバング行で
  #! /bin/sh
と書いてしまって、Bourne Shell で書き直すってのは
どうでしょうね。
コマンドを手入力するのは csh 系が、
シェルスクリプトを組むのは Bsh 系がいいって聞いた気がします。
(気のせいか? ;;;
もっぱら私はちょっとでも論理のあることは
Perl にするのでどっちも知りませんが、、。

No. 3092 # op 2003/02/07 (金) 00:33:46
始めましてopといいます。
・・・いきなり質問で申し訳ないのですが、

掲示板を作っていて
コメントを書き込んだ後に更新をすると、
前のコメントが追加されてしまいます
これを回避する為にはいったいどんなコードに
書けがよいのでしょうか?

宜しければアドバイスの程お願いします。

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