我正在实现wordexp
函数,该函数需要识别并可选地拒绝命令替换(即$(...)
或反引号)的出现,并且从质量角度来看,还应该识别和拒绝未引用每当命令替换被禁用时,特殊字符|
,&
,;
,<
和>
的发生。在shell命令文本中识别未加引号的特殊字符
我在寻找的是一种简单的方法来识别这些特殊字符的存在,而不需要重复大量的shell逻辑。有任何想法吗?
一旦串被验证,我将它传递给sh
有以下-c
说法:
printf '%s\0' [string inserted here]
它建立一个很好的多串准备用C代码消耗。
wordexp的重点在于集中执行其功能所需的shell逻辑的重复。由于人们寻找简单的广告解决方案而造成的众多安全破坏,表明认识到特殊角色的位置被解释为特殊并不容易。 – AProgrammer 2011-04-15 13:09:19
我没有要求一个近似解决方案,只是一个简单的解决方案。 – 2011-04-15 13:24:31