2011-09-15 3 views
2

에서 떠들썩한 파티 함수에 매개 변수를 전달하는 방법은 다음과 같은 기능이 .bash_aliases이 쉘

findphp() { 
    find -name '*.php' -exec grep -H --color "[email protected]" "{}" \; 
} 

에서 정의한 그것은 나를 이제 PHP 파일

function x에 대한 모든 참조를 찾을 findphp 'function x' 뭔가를 실행할 수 있습니다 bash에서 매개 변수로 검색, 예제 js, css, ctp 파일 유형을 전달하려고합니다.

다음 함수를 정의하고 .bash_aliases를 지정했습니다.

하지만 작동하지 않습니다. 위치 매개 변수 주위에 큰 따옴표를 사용하여 큰 따옴표를 시도했지만 사용하지 않았습니다.

파일 확장명과 검색 문자열을 명령 줄에서 인수로 취하는 함수는 어떻게 정의 할 수 있습니까?

답변

2

작은 따옴표는 변수 확장을 방지합니다. "*.$1"

2

사용이 시도 :

findphp() { 
    find . -name "*.$1" -exec grep -H --color "${@:2}" "{}" \; 
} 

또는

findphp() { 
    find . -name "*.$1" -print0 | xargs -0 grep -H --color "${@:2}" 
} 

가 너무

을 파일 이름을 원하는 경우