• [^] # [ [[

    Posté par (site web personnel, Mastodon) . En réponse au journal Args parser pour shell. Évalué à 3.

    Ou c’est pour une autre raison ? je ne sais plus, peut-être pour une autre raison

    Quand tu es en BASH, utiliser directement [[ permet d’éviter certains écueils de test à moins d’être tatillonne avec les variables ;- (c’est une commande interne introduite par KSH88 et est connu de ZSH aussi.)

    tu n'es pas sûr que [ soit un builtin, ça peut très bien utiliser /usr/bin/[.

    À noter que test est bien une commande interne depuis System III en 1981 (en même temps qu’à été introduit le synonyme [ ...retenu par POSIX qui indique « may be implemented as a single linked utility ») La/le spécification/standard POSIX permet que toutes les commandes internes puissent exister comme fonction ou comme binaire séparé : ce dernier cas est utile surtout pour les autres interpréteurs (moyennant quelques arrangements/réécritures, je me souviens d’avoir pu avoir des scripts qui Bourne qui pouvaient être traités aussi par CSH qui par contre va faire plus d’appels) ; et à moins d’indiquer le chemin absolu, éventuellement via un alias, c’est toujours la commande interne qui est prioritaire.

    "It is seldom that liberty of any kind is lost all at once." ― David Hume