

**hoge.csh**

[code]

    #!/bin/csh -f
    source hoge.env
    [EOF]
    
[/code]

**hoge.env**

[code]

    # 本来はここで環境変数を設定している
    set | grep -ai version  #バージョン表示
    echhhho "おわり"[EOF]
    
[/code]

**実行結果**

[code]

    $ ./hoge.csh
    version tcsh 6.17.00 (Astron) 2009-07-10 (x86_64-unknown-linux) options wide,nls,dl,al,kan,rh,color,filec
    
[/code]

hoge.envで「echhhho」と綴りミスをしているため、「command not
found」のエラーで終了するはずが、最後に改行をしていないことによって処理が行われていない（？）ため、正常終了。（気付かない）

別環境で実行をした時にエラーになったことで気付いた。

**実行結果**

[code]

    $ ./hoge.csh
    tcsh 6.18.01 (Astron) 2012-02-14 (x86_64-unknown-linux) options wide,nls,dl,al,kan,sm,rh,color,filec
    echhhho: Command not found.
    
[/code]

tcshのバージョンによる結果の違いなのでしょうか。（その場合ソースをお願いします！）  
そう睨んでいたのですが、明記されているWEBページが見つからず、質問させていただきました。


CC BY-SA 4.0
2020-06-16T08:33:05.870
67717
2020-06-17T00:11:02.387
2020-06-17T00:11:02.387
3060
40677
question
linux csh
C Shell でsource hoge.env を実行したときにエラーが起こるはずが起きなかった


tcsh 6.17.03 での bug fix です。

<https://github.com/tcsh-
org/tcsh/blob/48c44071d7c66ba4a7757376ff333d9e3bd820ba/Fixes#L227-L228>

>   36. Error out when processing the last incomplete line instead of silently  
>  ignoring it (Anders Kaseorg)
>


CC BY-SA 4.0
2020-06-16T14:12:46.400
67729
2020-06-16T14:12:46.400
19110
67717
answer