ls -a를 ls -A에 매핑

ls -a를 ls -A에 매핑

나는 하나를 만들어 보았고 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 

관련 정보