我有一个用来查找东西的函数,但不幸的是,每当我向它传递一个控制字符($intVal或其他testing :)时,它就会窒息。我想知道修复是什么?
我可以理解在 grep中使用$or%或:etc 而不转义会导致此问题,但是由于我是通过引用传入的,因此我不确定如何转义它...
无论如何,这是代码。
function ffind()
{
if [ $1 ] ; then
find -type f | grep -ir '$1' * | grep -v '.svn'
else
echo "'$1' is not a valid resource"
fi
}
Run Code Online (Sandbox Code Playgroud)
例子):
$ ffind $intVal
'' is not a valid resource
$ ffind "testing :"
bash: [: testing: unary operator expected
'testing :' is not a valid resource
Run Code Online (Sandbox Code Playgroud)