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 ~]$