将我的bash命令转换为bashrc函数并传递参数

时间:2012-10-12 19:53:52

标签: linux bash shell command

我有一个甜蜜的bash命令来查找文件和文件路径中的关键短语thanks to @ezod here。我试图将它变成我的bashrc中的函数,但它不会生成相同的结果。我猜这与我需要逃避或使用替代方法的背对背大括号有关吗?

使用:

{ find . -name '*keyword*'; grep -irl 'keyword' .; } | sort -u

在bashrc中不起作用:

function findit() {
  { find . -name '*$1*';
    grep -irl '$1' .;
  } | sort -u
}
export -f findit

$ findit keyword

1 个答案:

答案 0 :(得分:4)

Bash不会用单引号替换变量。试试这个:

function findit() {  
  { find . -name "*$1*";  
    grep -irl "$1" .;  
  } | sort -u  
}  
export -f findit