GNU/Linux >> Tutoriels Linux >  >> Linux

Utiliser l'extension .sh ou .bash pour les scripts bash ?

(Voir Utiliser #!/bin/sh ou #!/bin/bash pour la compatibilité Ubuntu-OSX et la facilité d'utilisation &POSIX)

Si je veux que mes scripts utilisent le shell bash, l'utilisation de l'extension .bash appelle-t-elle réellement bash ou dépend-elle de la configuration système / 1ère ligne shebang. Si les deux étaient en vigueur mais différents, lequel aurait la priorité ?

Je ne sais pas s'il faut terminer mes scripts avec .sh pour indiquer simplement "script shell", puis faire en sorte que la première ligne sélectionne le shell bash (par exemple, #!/usr/bin/env bash ) ou s'il faut simplement les terminer avec .bash (ainsi que le réglage de la ligne 1). Je veux que bash soit invoqué.

Réponse acceptée :

l'utilisation de l'extension .bash appelle-t-elle réellement bash ou dépend-elle
de la configuration système / 1ère ligne shebang.

Si vous n'utilisez pas explicitement un interpréteur, alors l'interpréteur invoqué est déterminé par le shebang utilisé dans le scénario. Si vous utilisez un interpréteur spécifiquement, l'interpréteur ne se soucie pas de l'extension que vous donnez à votre script. Cependant, l'extension existe pour rendre très évident pour les autres le type de script dont il s'agit.

[[email protected] ~]$ cat ./ext.py
#!/bin/bash
echo "Hi. I am a bash script"

Voir, .py l'extension du script bash n'en fait pas un script python.

[[email protected] ~]$ python ./ext.py
  File "./ext.py", line 2
    echo "Hi. I am a bash script"
                                ^
SyntaxError: invalid syntax

C'est toujours un bash script.

[[email protected] ~]$ ./ext.py
Hi. I am a bash script

Linux
  1. Comment utiliser un mot de passe crypté dans le script Linux Bash Shell

  2. Espaces pour les variables dans le script bash ?

  3. Portée variable pour les scripts shell bash et les fonctions dans le script

  4. Utiliser la variable Bash dans le script SLURM sbatch

  5. Des modèles pour le script de démarrage ?

Bash pour la boucle

Écrire des commentaires dans des scripts bash

Comment utiliser les instructions conditionnelles dans les scripts Bash

Comment utiliser la commande echo dans les scripts Bash sous Linux

Bash Beginner Series #3 :Passer des arguments aux scripts Bash

Script bash pour la boucle expliqué avec des exemples