我正在尝试在定义环境变量时使用引号。
例如:
setenv SOME_TEMP_ENV "-arg "hello world""
尽管失败,但出现以下错误:
setenv: Too many arguments.
在阅读了一些有关转义引号的知识之后,我尝试了以下方法:
setenv SOME_TEMP_ENV "-arg \"hello world\""
setenv SOME_TEMP_ENV "-arg '"'"'hello world'"'"'"
此外,我可以使用以下方法:
setenv SOME_TEMP_ENV "-arg "'"hello world"'""
但是它不符合我的要求:
echo $SOME_TEMP_ENV
-arg 'hello world' // should be -arg "hello world"
如何在环境变量中使用引号?
**编辑**:我必须在字符串周围使用双引号,因为我的脚本由于某种原因无法读取字符串,它看起来像这样:'-arg "hello world"'
答案 0 :(得分:1)
在字符串周围使用单引号。
setenv SOME_TEMP_ENV '-arg "hello world"'
答案 1 :(得分:1)
使用单引号作为外部包装在csh(您的问题似乎与之有关)和bash(您的问题被标记为)中都可以使用:
'-arg "hello world"'