有没有办法在ZSH中用引号分割字符串?
尝试以下操作时,我只是在没有拆分的情况下返回$ STRING:
STRING='imgdir="/path/to/my/images"'
VAR=${$(s/\"/)STRING}
背景是我有一个文件包含以下格式的数据,实际上我想轻松访问引号中的值:
imgdir="/path/to/my/images"
imgdir2="/path/to/my/images2"
testvalue="554"
[...]
感谢您的帮助,
格哈德
答案 0 :(得分:1)
如果文件只包含如图所示的赋值(并且没有非shell语法),则只需获取它:
. /path/to/file
然后,您在shell变量imgdir
,imgdir2
,testvalue
,...中包含所有字符串值,并删除了引号。
编辑:如果有非shell语法,请首先使用grep进行分配:
grep -E '[a-z0-9_]+=".*"' > assignments
. ./assignments
rm assignments
答案 1 :(得分:0)
好的,回答我自己的问题:
eval $(grep "imgdir=" $FILE)
为我在这种情况下想做的事情做了诀窍:它分配一个变量" imgdir"用引号之间的内容......
原始问题仍然存在:如何将字符串拆分为引号......
/格哈德