Quoting in csh/tcsh and bash is noticeably different. In bash we can use backslash for double quotes escape ,but in tcsh we must using single quote without a backslash.Below examples will give you some hints.



[j@localhost ~]$ echo $0
bash
[j@localhost ~]$ echo "{\"settings\":{\"admin\":true}}"
{"settings":{"admin":true}}
[j@localhost ~]$ 

You can see we can use backslash (") to get double quotes printed,but in tcsh/csh it’s different.

[j@localhost ~]$ tcsh
[j@localhost ~]$ echo $0
tcsh
[j@localhost ~]$ echo "{\"settings\":{\"admin\":true}}"
Unmatched '"'.
[j@localhost ~]$ 

See ,if we run the same command we get error “Umatched ‘”’”.

Solution is to use single quote.(no backslash required anymore)

[j@localhost ~]$ tcsh
[j@localhost ~]$ echo $0
tcsh
[j@localhost ~]$ echo "{\"settings\":{\"admin\":true}}"
Unmatched '"'.
[j@localhost ~]$ echo '{"settings":{"admin":true}}'
{"settings":{"admin":true}}
[j@localhost ~]$