Comment installer et utiliser GNU "ls" sur macOS?

im2wddrf

Je suivais cet article pour mettre à jour mon bash. Je souhaite vraiment mettre à jour ma version de bash afin de pouvoir utiliser l' --group-directories-firstoption pour la lscommande.

Jusqu'à présent, j'ai accompli ce qui suit à partir de l'article lié:

  • J'ai exécuté avec succès la brew install bashcommande et téléchargé le nouveau bash. Selon l'article, je peux vérifier que le /usr/local/bin/bash --versionsur ma machine montre ce qui suit:

    GNU bash, version 5.0.11 (1) -release (x86_64-apple-darwin18.6.0) Copyright (C) 2019 Free Software Foundation, Inc. Licence GPLv3 +: GNU GPL version 3 ou ultérieure http://gnu.org/licenses /gpl.html

    C'est un logiciel libre; vous êtes libre de le modifier et de le redistribuer. Il n'y a AUCUNE GARANTIE, dans la mesure permise par la loi.

    • J'ai terminé la sudo vim /etc/shellscommande, éditant le fichier pour inclure le nouveau bash téléchargé. Voici à quoi cela ressemble:

entrez la description de l'image ici

  • J'ai exécuté le chsh -s /usr/local/bin/bashpour définir le nouveau bash par défaut.

Cependant, même après avoir fermé et relancé le terminal, je ne sais pas si j'utilise le nouveau terminal. Ceci est dû au fait:

  1. quand j'exécute, bash --versionj'obtiens ce qui suit:

    GNU bash, version 5.0.11 (1) -release (x86_64-apple-darwin18.6.0) Copyright (C) 2019 Free Software Foundation, Inc. Licence GPLv3 +: GNU GPL version 3 ou ultérieure http://gnu.org/licenses /gpl.html

    C'est un logiciel libre; vous êtes libre de le modifier et de le redistribuer. Il n'y a AUCUNE GARANTIE, dans la mesure permise par la loi.

Mais quand je cours, echo $BASH_VERSIONj'obtiens quelque chose du contraire ( 3.2.57(1)-release). N'est-ce pas la vieille version?

  1. De plus, la nouvelle commande "Group directory first" ne fonctionne toujours pas. J'obtiens l'erreur suivante lorsque je cours ls --group-directories-first:

ls: option illégale - - utilisation: ls [-ABCFGHLOPRSTUWabcdefghiklmnopqrstuwx1] [fichier ...]

Toute aide ou pointeurs serait grandement apprécié.

Merci!

Simba

Cela n'a rien à voir avec bash. La commande lsn'est pas intégrée à bash.

macOS est basé sur le système d'exploitation Unix. Certaines de ses commandes de base sont de type BSD. L' --group-directories-firstoption souhaitée n'est disponible que dans GNU ls. Tout ce dont vous avez besoin est une saveur GNU ls.

Solution: installer coreutils, dans laquelle GNU lsest inclus.

brew install coreutils

Ajoutez le code suivant ~/.bash_profilepour donner la priorité à la lscommande et aux autres commandes GNU par rapport à la commande BSD intégrée dans macOS.

# make GNU commands available
export PATH="/usr/local/opt/coreutils/libexec/gnubin:${PATH}"

export MANPATH="/usr/local/opt/coreutils/libexec/gnuman:${MANPATH}"

Si vous voulez seulement GNU lsmais pas d'autres commandes à saveur GNU. N'ajoutez pas le contenu ci-dessus, mais créez un alias dans ~/.bash_profile.

alias ls="/usr/local/opt/coreutils/libexec/gnubin/ls"

Voici toutes les commandes apportées coreutils.

❯ ls /usr/local/opt/coreutils/libexec/gnubin
'['         cat      cksum    dd          echo     fmt      install   ls       mv       od         printf     rmdir       sha384sum   split    tac       tr         unexpand   wc
 b2sum      chcon    comm     df          env      fold     join      md5sum   nice     paste      ptx        runcon      sha512sum   stat     tail      true       uniq       who
 base32     chgrp    cp       dir         expand   groups   kill      mkdir    nl       pathchk    pwd        seq         shred       stdbuf   tee       truncate   unlink     whoami
 base64     chmod    csplit   dircolors   expr     head     link      mkfifo   nohup    pinky      readlink   sha1sum     shuf        stty     test      tsort      uptime     yes
 basename   chown    cut      dirname     factor   hostid   ln        mknod    nproc    pr         realpath   sha224sum   sleep       sum      timeout   tty        users
 basenc     chroot   date     du          false    id       logname   mktemp   numfmt   printenv   rm         sha256sum   sort        sync     touch     uname      vdir

Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.

En cas d'infraction, veuillez [email protected] Supprimer.

modifier le
0

laisse moi dire quelques mots

0commentaires
connexionAprès avoir participé à la revue

Articles connexes

Comment installer et utiliser mirthSync sur MacOS ?

Comment installer et utiliser différentes versions de pythons sur MacOS en utilisant pyenv

Comment installer et utiliser GAS (GNU Compiler) sous Linux?

Comment configurer GNU make pour utiliser gcc default sur macOS?

Comment installer et désinstaller facilement Docker sur MacOs

Comment installer et exécuter correctement virtualenv sur MacOS

Collaboratoire: Comment installer et utiliser sur une machine locale?

Comment installer et utiliser le module python sur Win 64?

Comment installer Boost sur MacOS?

Comment installer powershell sur MacOS

Échec de compilation: comment utiliser Pyenv pour installer Python 3.8.3 sur macOS Big Sur version 11.0.1?

Comment installer et utiliser Jade

Comment installer et utiliser obfuscar?

Comment installer Boost sur GNU / Linux

Installer Colorls sur macOS et zsh

Installer Sage et Anaconda sur macOS

Comment installer libcurl sous MacOS10.12 et l'utiliser pour Xcode?

Comment installer et utiliser python 3.8 et 3.7 sur Windows 10

Comment installer le "vrai" binaire sur MacOS?

Comment installer InteliJ sur Mac? (MacOS Sierra)

Comment installer clang-tidy sur macOS?

Comment installer angular cli sur MacOs Mojave

Comment installer pymssql sur MacOS Sierra

Comment installer Vigra sur macOS Mojave?

installer et utiliser jersey sur Eclipse

Comment installer libarchive sur macOS et faire en sorte que le compilateur le détecte?

Comment installer Poppler à utiliser sur AWS Lambda

Comment installer JRE 1.7 sur Mac OS X et l'utiliser avec Eclipse?

Comment installer et utiliser python PyGObject "Notify" (ou équivalent) sur un RPi3

TOP liste

  1. 1

    Comment exécuter un fichier python avec des droits d'administrateur dans pycharm

  2. 2

    obtenir le nombre de marqueur affiché sur la carte

  3. 3

    comment obtenir un objet de requête dans les tests unitaires de django?

  4. 4

    Microsoft.WebApplication.targets

  5. 5

    Exécuter la requête externe pour chaque date obtenue à partir de la requête interne

  6. 6

    comment convertir une chaîne en un tuple dateutil jour de la semaine sans utiliser eval

  7. 7

    Dans les modèles Hugo, comment vérifier la longueur du tableau de fichiers JSON?

  8. 8

    Référencement des assemblys de structure .net 4.7 dans la solution .net core 2

  9. 9

    Comment ajouter un texte dans un texte Python/Tkinter

  10. 10

    mongo kafka connect source

  11. 11

    Comment obtenir l'intégration contextuelle d'une phrase dans une phrase à l'aide de BERT ?

  12. 12

    Recherche de dicton Jinja2 à l'aide d'une clé variable

  13. 13

    Vérifier la longueur du nombre à partir du message, puis utiliser la valeur dans l'instruction

  14. 14

    Laravel 8: Attempt to read property "id" on null

  15. 15

    Comment obtenir tous les champs d'un objet (y compris sa superclasse), à l'aide de l'API Mirrors de Dart?

  16. 16

    Comment convertir une chaîne en tuple en utilisant `reads`?

  17. 17

    Aide de variable de débogage pprint jinja2

  18. 18

    Comment changer le navigateur par défaut en Microsoft Edge pour Jupyter Notebook sous Windows 10 ?

  19. 19

    mauvaise valeur pour le type long: - Postgresql, Hibernate, Spring

  20. 20

    définir une propriété pour chaque nœud dans neo4j

  21. 21

    Impossible d'accéder à la vue personnalisée pendant le test de l'interface utilisateur dans XCode

chaudétiquette

Archive