Comme je pense que c’est plus facile de supprimer que d’écrire, j’ai fait un script pour démarrer les scripts avec la boucle while pour getopts déjà écrite. Alors, si je n’ai pas besoin d’utiliser des arguments, je dois juste supprimer le bloc.
Je l’ai sauvegardé dans mon dossier /bin sous le nom de mkscript.sh.
#!/bin/bash
nom=$1
echo "#!/bin/bash" > $nom
echo "" >> $nom
echo "# Default values
#variable_a=default_a
#variable_b=default_b"
echo "# uncomment to argument
#while getopts a:b: option
#do
#case \${option}
#in
#a) variable_a=\${OPTARG};;
#b) variable_b=\${OPTARG};;
#esac
#done" >> $nom
chmod 751 $nom
vim $nom
Je l’utilise comme cela:
mkscript.sh name_of_the_new_script
En fait,
nom=$1
est un autre exemple de lecture d’arguments en bash. De cette façon, vous devez passer les arguments dans l’ordre après le nom du script. Alors $1 correspond au premier argument, $2 le deuxième argument, ${10} le dixième argument, etc.
Les deux dernières commandes rendent le script exécutable (avec chmod; nous pouvons changer les privilèges plus tard) et l’ouvrent dans un éditeur de texte (vim).
chmod 751 $nom
vim $nom
Lorsque j’exécute le script, le résultat est un autre script déjà ouvert à modifier:
#!/bin/bash
# Default values
#variable_a=default_a
#variable_b=default_b
# Uncomment to argument
#while getopts a:b: option
#do
#case ${option}
#in
#a) variable_a=${OPTARG};;
#b) variable_b=${OPTARG};;
#esac
#done
Je n’ai qu’à changer ou ajouter des variables et, bien sûr, écrire le reste du script.
Plus: