내 .bashrc에 여러 단어로 된 별칭을 추가하려고 합니다. 좀 더 구체적으로 말하면 나는 apt update
되고 싶다 sudo apt update -y
. 하지만 여러 단어로 구성된 별칭을 지정하는 방법을 모르겠습니다. 다음을 시도했지만 그 중 아무 것도 작동하지 않습니다.
alias 'apt update'='sudo apt update -y'
alias "apt update"='sudo apt update -y'
alias apt\ update='sudo apt update -y'
이 문제에 대한 해결책을 아는 사람이 있나요?
감사해요.
답변1
알겠습니다.
$ alias 'apt update'='sudo apt update -y'
bash: alias: 'apt update': invalid alias name
이것은 분명한 것 같습니다.
마찬가지로 이름에 공백이 포함된 함수나 명령을 사용할 수 없습니다. 또는 가능하지만 사용할 때 공백을 이스케이프 처리해야 하는데 이는 재미가 없습니다.
간단한 수정은 다른 이름을 사용하는 것입니다. 예를 들어 다음과 같이 작동합니다.
alias apt-update='sudo apt update -y'
또는 정말로 원한다면 apt
두 번째 단어(첫 번째 인수)를 확인하는 함수를 만들 수도 있습니다. 이는 별칭과 마찬가지로 가 되어야 하며 apt update foo
다른 sudo apt update -y foo
명령은 그대로 실행됩니다.
apt() {
if [ "$1" = "update" ]; then
shift # eat the 'update'
sudo apt update -y "$@"
else
command apt "$@"
fi
}
( apt update
물론 어떤 매개변수도 허용되지 않지만 다른 유사한 매개변수에 전달할 수도 있습니다.)