Bash 별칭 대체가 필요합니다(기본적으로 별칭처럼 작동하지만 별칭은 아님).
이와 같은 대체가 필요한 이유는 스크립트가 별칭을 사용할 수 없기 때문입니다. 즉, Bash에서 별칭을 수동으로 수행하면 제대로 작동하지만 스크립트의 일부로 실행하면 작동하지 않습니다. 내가 아는 해결책은 별칭을 임시 파일에 넣는 것이지만 이 접근 방식은 원하지 않습니다.
별칭처럼 작동하지만 (파일을 가져온 후) 스크립트에 자연스럽게 액세스할 수 있는 "차세대 별칭"(유추하기 위해) 등 제가 활용할 수 있는 대체/유사 명령 바로 가기가 있습니까?
답변1
존재하다 man bash
:
쉘이 비대화형일 때 별칭은 다음을 제외하면 확장되지 않습니다.확장 별칭쉘 옵션 설정 사용Shoput.
shopt expand_aliases
그래서 스크립트 에 추가해야 한다고 생각합니다 bash
.
시험:
$ cat 1.sh
#!/bin/bash
alias ll='ls -l'
ll $HOME
$ ./1.sh
./1.sh: line 3: ll: command not found
$ cat 2.sh
#!/bin/bash
shopt -s expand_aliases
alias ll='ls -l'
ll $HOME
$ ./2.sh
total 12
...