

tcshで`set var =`cat sjis.txt``を実行すると`Missing}.`が出力されてしまいます

tcsh-6.14では正常に実行できていましたが、tcsh-6.18では上記のエラーが発生します

・手順

  1. SJISのテキストファイル「SJIS.txt」を作成する
  2. 「SJIS.txt」に本と記載し、保存する。
  3. 「test.csh」を作成し、以下を記載する。
[code]     $ #!/bin/tcsh -f

    $ set var = `cat SJIS.txt`
    
[/code]

  4. 以下のコマンドを実行する
[code]     $ ./test.csh

    
[/code]


CC BY-SA 3.0
2018-04-06T09:36:11.377
43005
2018-04-06T10:59:00.493
2018-04-06T10:59:00.493
19110
28029
question
linux shell
tcshでset var =` cat sjis.txt`を実行するとMissing}.が出力される


`set var=`の左辺をダブルクオートでくくることで解消すると思います。

[code]

        例
        set var="`cat SJIS.txt`"
    
[/code]

＃SJIS.txtの内容依存の挙動と思います。具体的には、バイトデータ中に"}"が含まれている  
と予想します。(あるいはロケールがShift_JISでない何か)


CC BY-SA 3.0
2018-04-06T09:56:52.890
43006
2018-04-06T09:56:52.890
20098
43005
answer