파일을 찾기 위한 다음 별칭은 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 ; }