bash에 대한 별칭의 여러 명령
다음 두 명령을 연속적으로 실행하는 별칭을 정의하고 싶습니다.
gnome-screensaver
gnome-screensaver-command --lock
지금은 추가했습니다
alias lock='gnome-screensaver-command --lock'
내 .bashrc에 있지만 워크 스테이션을 너무 자주 잠그기 때문에 하나의 명령을 입력하는 것이 더 쉽습니다.
시험:
alias lock='gnome-screensaver; gnome-screensaver-command --lock'
또는
lock() {
gnome-screensaver
gnome-screensaver-command --lock
}
.bashrc에
두 번째 솔루션을 사용하면 인수를 사용할 수 있습니다.
다른 답변은 질문에 적절하게 대답하지만 두 번째 명령은 첫 번째 명령이 성공적으로 종료되는 것처럼 보입니다. 별명에서 단락 평가 를 시도 할 수 있습니다 .
alias lock='gnome-screensaver && gnome-screensaver-command --lock'
이제 첫 번째 명령이 성공하지 않으면 두 번째 명령도 시도되지 않습니다. 단락 평가에 대한 자세한 설명은이 SO 질문에 설명되어 있습니다.
별명은 별명 명령 이름을 위한 것 입니다. 그 이상은 기능으로 수행해야합니다.
alias ll='ls -l' # The ll command is an alias for ls -l
별명은 여전히 원래 이름과 연관된 이름입니다. ll
단지 약간의 특정 종류입니다 ls
.
d() {
if exists colordiff; then
colordiff -ur "$@"
elif exists diff; then
diff -ur "$@"
elif exists comm; then
comm -3 "$1" "$2"
fi | less
}
함수는 내부 논리가있는 새로운 명령입니다. 단순히 다른 명령의 이름을 바꾸는 것이 아닙니다. 내부 작업을 수행합니다.
기술적으로, Bash 쉘 언어의 별명은 기능이 너무 제한되어 단일 명령 이상을 포함하는 모든 것에 매우 적합하지 않습니다 . 단일 명령의 작은 돌연변이를 만드는 데 사용하십시오.
다른 명령에서 내부적으로 해결되는 작업을 수행하는 새 명령을 작성하는 것이 목적이므로 여기에 함수를 사용하는 것이 정답입니다.
lock() {
gnome-screensaver
gnome-screensaver-command --lock
}
이와 같은 시나리오에서 별칭을 사용하면 많은 문제가 발생합니다. 명령으로 실행되는 기능과 달리 별칭은 현재 명령으로 확장되어이 별칭 "명령"을 다른 명령과 결합 할 때 예상치 못한 문제가 발생합니다. 또한 스크립트에서 작동하지 않습니다.
작동하지 않습니까?
alias whatever='gnome-screensaver ; gnome-screensaver-command --lock'
그러면 두 명령이 차례로 실행됩니다.
alias lock='gnome-screensaver ; gnome-screensaver-command --lock'
세미콜론을 사용하십시오.
alias lock='gnome-screensaver; gnome-screen-saver-command --lock'
첫 번째 명령에 인수를 제공하려는 경우에는 잘 작동하지 않습니다. 또는 $ HOME / bin 디렉토리에 간단한 스크립트를 작성하십시오.
에 별칭을 선언 할 때 문제가 발생했습니다 ~/.bashrc
. 터미널에서 내가 선언 한 별칭을 인식하지 못했습니다 ~/.bashrc
. Mac OS X login-shell
이 기본적으로 실행 되는 기사 (아래에 첨부)를 통해 ~/.bash_profile
대신 대신 호출 합니다 ~/.bashrc
.
별명을 선언 할 때 동일한 문제가 발생하면 다음 링크를 참조하여 문제를 해결할 수 있습니다.
http://www.joshstaiger.org/archives/2005/07/bash_profile_vs.html
참고 URL : https://stackoverflow.com/questions/756756/multiple-commands-in-an-alias-for-bash
'Programing' 카테고리의 다른 글
ASP.NET Core의 .json 파일에서 AppSettings 값을 읽는 방법 (0) | 2020.05.16 |
---|---|
반복 (0) | 2020.05.16 |
Xcode 5에서 사용할 수있는 새로운 설명서 명령은 무엇입니까? (0) | 2020.05.16 |
열에서 고유 한 값 선택 (0) | 2020.05.16 |
공백이있는 파일 목록을 반복합니다. (0) | 2020.05.16 |