bashrc에서 별칭을 증분식으로 정의할 수 있나요?

bashrc에서 별칭을 증분식으로 정의할 수 있나요?

현재 내 .bashrc에는 다음이 있습니다.

if [ -x /usr/bin/dircolors ]; then
    # ...
    alias ls='ls --color=auto -F'
    # ...
fi

# xxx
alias ll='ls -AltF'

ls이제 나도 해당 옵션을 사용 하고 싶다고 가정해 보겠습니다 --group-directrories-first.

alias ls='ls --group-directrories-first'내가 해야 할 일은 모든 곳에 행을 추가하는 것뿐입니다 # xxx.

그러나 이것은 alias옵션을 완전히 대체 --color=auto하고 -F사라졌습니다.

이 문제를 어떻게 해결할 수 있나요?

답변1

이를 수행하는 한 가지 방법은 변수의 옵션을 추적하는 것입니다.

lsOptions=""

if [ -x /usr/bin/dircolors ]; then
    lsOptions="$lsOptions --color=auto -F"
fi

if [ something else]; then
    lsOptions="$lsOptions --group-directories-first"
fi

## After all the ifs have been evaluated
alias ls="ls $lsOptions"

관련 정보