有一个文件名为pkg_list
a-1.2b-1.tar.gz
c-2.5b-1.tar.gz
a xx-1.4.txz
a$xx-1.4.txz
中文-3.txz
xx-3.2-2.tar.gz
xxy-1.3.tar.gz
我的 bash 函数可以输入像“xx”这样的包名
pkg_find() { # <pkg_name> as $1
grep "^$1-[0-9]*" pkg_list
}
pkg_find xx # wish it return xx-3.2-2.tar.gz
我知道我不能将 $1 直接传递给 pkg_find,正确的方法是什么?
[已解决] 在这种情况下,因为 $1 用双引号括起来,我发现即使是正则表达式元字符也可以作为参数传递。