Bash에서 작동하지 않는 파일을 찾기 위한 별칭

Bash에서 작동하지 않는 파일을 찾기 위한 별칭

파일을 찾기 위한 다음 별칭은 tcsh에서는 작동하지만 bash에서는 작동하지 않습니다.

alias ff "find . -name '*\!{*}*' -ls"

위의 줄을 .bashrc에 넣은 다음 가져오면 다음과 같은 결과가 나타납니다.

bash-3.2$ source .bashrc
bash: alias: ff: not found
bash: alias: find . -name '*\!{*}*' -ls: not found

이제 별칭을 정의했지만 별칭 뒤에 등호를 넣으면 위 오류는 사라지지만 예상대로 작동하지 않습니다.

 alias ff="find . -name '*\!{*}*' -ls" 

이제 파일을 가져오면 이전 오류는 사라지지만 명령이 find예상대로 작동하지 않습니다.

 bash-3.2$ source .bashrc
 bash-3.2$ ff somefile
 find: paths must precede expression
 Usage: find [-H] [-L] [-P] [path...] [expression]

답변1

Bash의 별칭은 인수를 처리할 수 없습니다. 매개변수를 처리해야 하는 경우 대신 함수를 사용하세요.

ff () { find . -name "*$1*" -ls ; }

관련 정보