GNU/Linux >> Tutoriels Linux >  >> Linux

Quels shells ne prennent pas en charge l'expansion entre parenthèses en dollars et exigent des backticks ?

La recommandation moderne est d'utiliser :

$(...)

au lieu de l'ancien :

`...`

principalement pour la lisibilité et pour éviter d'avoir à s'échapper lors de l'imbrication.

Quels shells ne supportent pas le $(...) forme, et y en a-t-il encore en usage aujourd'hui ?

Réponse acceptée :

Le shell Bourne d'origine, csh ou tcsh ne prend pas en charge $() et nécessite `` pour la substitution de commande.

Le shell Bourne n'est plus utilisé comme shell par défaut (/bin/sh) sur de nombreux systèmes d'exploitation basés sur UNIX. Cependant, ces shells sont toujours fournis par les fournisseurs de systèmes d'exploitation car ils sont toujours utilisés pour des raisons historiques.

AIX et HP-UX ont tous deux /bin/sh comme shell compatible POSIX. Le shell Bourne est toujours disponible sur AIX en tant que "bsh" (mais obsolète en 1995 avec AIX 4.1) et HP-UX 11.11 "/usr/old/bin/sh" (Bourne a été supprimé de 11.23). Je ne sais pas quand le changement a été fait, mais c'était il y a de nombreuses années.


Linux
  1. Quel shell est-ce que j'utilise ?

  2. Différence entre le shell de connexion et le shell sans connexion ?

  3. Différence entre les variables Shell qui sont exportées et celles qui ne sont pas dans Bash ?

  4. Sur quel shell suis-je en cours d'exécution ?

  5. Différence entre l'expansion de la tuyauterie et de la commande ?

Terminaux, shells, consoles et lignes de commande

Comment installer et utiliser ZSH Shell sous Linux

Comment installer et utiliser Nu Shell sous Linux

Prise en charge de Tmux, Term et 256 couleurs ?

Comment créer et exécuter un script shell dans Ubuntu 22.04

8 types de shells Linux