我有一个不错的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

最佳答案

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

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

08-05 10:33