Yükleme coreutils
Homebrew ve takma adla ll
için gls -Flh --group-directories-first
yerine.
brew install coreutils
kurulu değilse GNU Coreutils'i kurar .
- Kullan
alias ll='gls -Flh --group-directories-first'
içinde .bashrc
.
(Aynı .bashrc
dosyayı her iki işletim sisteminde de kullanmak istiyorsanız , aşağıya bakın.)
Ubuntu'da, Ubuntu'nun her zaman sahip olduğu ls
GNU Coreutils tarafından sağlanır . Bu yüzden Ubuntu'da ls
destekler --group-directories-first
. Muhtemelen daha önce MacOS'un GNU Coreutils sürümünü ls
de kullanıyordunuz, Homebrew'un yüklediği, gls
ancak ls
çeşitli şekillerde kullanılabilir hale getirilebildiği .
ls
Bash yerleşkesi değil harici bir komuttur. Bash'in farklı bir sürümünü veya derlemesini kullanmak onu etkilememelidir. Bash'i Homebrew kullanarak yükselttiğinizde ne olduğundan emin değilim. Belki de Bash'den daha fazlası yükseltildi; belkils
değiştirilen bir genel yapılandırma dosyasında tanımlanmışbirkabuk işleviniz veya takma adınızvardı; belkils
işaret edengls
ve üzerine yazılmışsembolik bir bağınızvardı; belki hala böyle bir şey var ama senin$PATH
değişti. Ne olursa olsun, GNU Coreutils ls
destekliyor--group-directories-first
ve ona ( bmike'ın önerdiğine göre )geçiş yapmaksorununuzu çözmeli .
Herhangi bir nedenle aynı .bashrc
dosyayı her iki sistemde de kullanmak istiyorsanız , birkaç olası yaklaşım vardır. gls
Ubuntu sisteminizde bir sembolik bağlantı, sarmalayıcı komut dosyası, kabuk işlevi veya (Bash takma adı genişletmesi yinelemesiz olduğu için) kabuk takma adı oluşturabilirsiniz . Ama bunun yerine önermek OS kullanılıyor denetimi içinde .bashrc
. Her ll
sistemde farklı bir takma ad tanımlasanız da, bu yaklaşım kendi kendini belgeleme avantajına sahiptir. Sizin .bashrc
bir yılda sana mantıklı, veya bir ay yapacak.
if [ "$OSTYPE" == linux-gnu ]; then # Is this the Ubuntu system?
alias ll='ls -Flh --group-directories-first'
else
alias ll='gls -Flh --group-directories-first'
fi
Veya takma adı ls
kullanmasanız bile genellikle Coreutils'i çalıştırmayı tercih ederseniz , ll
aşağıdakiler için ls
bir takma ad yapabilirsiniz gls
:
if [ "$OSTYPE" != linux-gnu ]; then # Is this the macOS system?
alias ls=gls
fi
alias ll='ls -Flh --group-directories-first'
(Teşekkürler gitmek soroushjp için bir hata yakalama bu komut dosyasının önceki bir sürümünde.)
ls
veya MacOSls
? Diğerini denedin mi?