ls
이 방법으로 도구 의 원래 동작을 수정하고 싶다고 가정 해 봅시다 .
$ ls
Hello World
file1 file2 ...
어떻게해야합니까?
실행할 때 ls
다른 명령을 실행하고 싶습니다 echo "Hello World!"
.
내가 보는 빠른 해결책은 별칭을 사용하는 것입니다.
alias orig_ls="ls"
alias ls='echo "Hello World!"'
그러나 이것이 실행될 orig_ls
때 출력 할 것이기 때문에 이것은 실제 솔루션이 아닙니다 "Hello World!"
.
답변
때로는 별칭이 원하는 것을 쉽게 수행 할 수있을만큼 강력하지 않기 때문에 별칭을 사용하지 않는 방법이 있습니다.
쉘이 시작될 때 제공되는 일부 파일 (예 .bashrc
:)에 다음 기능을 추가하십시오.
ls () {
echo "Hello world!"
command ls "$@"
}
별명과 달리 함수는 재귀 할 수 있습니다. 이것이 command ls
대신에 사용되는 이유 입니다 ls
. ls
방금 정의한 함수 대신 실제 쉘을 사용하도록 쉘에 지시합니다 .
답변
당신은 전화하는 것을 잊지 않아야합니다 ls
:
alias ls='echo "Hello World!"; ls'