Fix csh/tcsh double quotes Unmatched quote error
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 ~]$