Comment utiliser les supports doubles ou simples, entre parenthèses, accolades - Stack Overflow

Un seul support ([) habituellement appelle en fait un programme nommé [; test de l'homme ou l'homme [pour plus d'informations. Exemple:

Le double support ([[) fait la même chose (essentiellement) comme un seul support, mais est un builtin bash.

Parenthèses (()) sont utilisés pour créer un sous-shell. Par exemple:

Comme vous pouvez le voir, le sous-shell vous permet d'effectuer des opérations sans affecter l'environnement de l'enveloppe actuelle.

4a. croisillons ( <> ) Sont utilisés pour identifier sans ambiguïté les variables. Exemple:

4b. Bretelles sont également utilisés pour exécuter une séquence de commandes dans le contexte actuel de la coquille, par exemple,

Il y a une différence subtile syntaxique avec (). si (voir référence bash); essentiellement, un point-virgule; après la dernière commande entre accolades est une nécessité, et les entretoises doivent être entourées par des espaces.

Pour couper une longue histoire courte: essai met en œuvre l'ancienne, la syntaxe portable de la commande. Dans presque tous les coquillages (les plus anciennes coquilles Bourne sont l'exception), [est synonyme de test (mais nécessite un dernier argument de]). Bien que toutes les coquilles modernes ont mises en œuvre intégrée de [, il est généralement encore un exécutable externe de ce nom, par exemple /poubelle/[.

[[Est une nouvelle version améliorée de celui-ci, qui est un mot-clé, pas un programme. Cela a des effets bénéfiques sur la facilité d'utilisation, comme indiqué ci-dessous. [[On entend par KornShell et BASH (par exemple 2,03), mais pas par l'ancienne POSIX ou bourne shell.

Et la conclusion:

Quand faut-il la nouvelle commande de test [[être utilisé, et quand l'ancien [? Si la portabilité à l'est une préoccupation bourne shell, l'ancienne syntaxe doit être utilisée. Si d'autre part le script BASH nécessite ou KornShell, la nouvelle syntaxe est beaucoup plus flexible.

Parenthèses dans la définition de la fonction

Parenthèses () sont utilisés dans la définition de la fonction:

Telle est la raison pour laquelle vous devez échapper les parenthèses, même dans les paramètres de commande:

a répondu le 9 septembre '13 à 08h56

Ta Réponse