나는 하나를 만들어 보았고 alias ls -a = ls -A
결국 다음과 같이 끝났습니다.
bash: alias: `ls -a': invalid alias name
나는 ls -a
아니오 .
를 원합니다 ..
. 어떻게 얻을 수 있나요?
답변1
이와 같은 별칭을 사용할 수 없습니다. 별칭은 인수 없이 호출할 수 있는 단일 이름입니다(모든 인수는 수정 없이 alias 명령에 직접 전달됩니다).
당신이 직면한 문제를 해결하기 위한 나의 제안은 다음과 같이 함수를 사용한 다음 별칭을 지정하는 것입니다 ls
.
_ls() {
if [[ "$1" == "-a" ]]; then
shift
ls -A "$@"
else
ls "$@"
fi
}
alias ls=_ls
이 방법은 ls -a
영향을 받으므로( -a
첫 번째 위치에 단독으로 배치해야 함) -a
다른 곳에 배치하거나 다른 옵션과 함께 수집하여 "표준"에 계속 액세스할 수 있습니다.
ls -a # modified '-a'
ls -a -l /tmp # modified '-a'
ls -al # not modified
ls -l -a /tmp # not modified