Nouveau script shell
Par riri, mercredi 9 août 2006 à 11:47 :: Outils et Scripts :: #16 :: rss
Voici une fonction que vous pouvez rajouter dans vos scripts de démarrage. Elle permet en une seule commande de créer un script shell avec le she-bang, les permissions d'exécution, et une ligne de fin pour indiquer le formatage de vi. Donnez le nom du nouveau script en paramètre (le .sh est automatiquement rajouté si vous ne le spécifiez pas). Par défaut, le she-bang indique sh comme shell, mais vous pouvez indiquer au second paramètre donnant le nom du shell à lancer via le she-bang. Si la variable EDITOR existe, le nouveau script sera lancé dans cet éditeur.
newscript () {
local name shell
# vérifie les paramètres
[ $# -eq 0 ] || [ $# -lt 3 ] ||{
echo "usage: newscript scriptname[.sh] [shell name]"
return 1
}
# si second paramètre, prend le nom de shell spécifique, sinon "sh" par défaut
if [ $# -eq 2 ]; then
shell=$2
else
shell=sh
fi
# si ne se termine pas par .sh, l'ajoute
echo $1 | grep -q -e '.*\.sh$'
if [ $? -eq 0 ]; then
name=$1
else
name=$1.sh
fi
# crée le fichier s'il n'existe pas (on devrait avoir une erreur s'il existe ?)
touch $name || return $?
# le rend exécutable
chmod +x $name || return $?
# contenu minimum
cat > $name << EOF
#!/bin/$shell
# vi:set ts=2 sw=2 noet:
EOF
[ $? -eq 0 ] || return $?
# lance l'éditeur si défini
[ -n "$EDITOR" ] && $EDITOR $name
}
Commentaires
Aucun commentaire pour le moment.
Ajouter un commentaire
Les commentaires pour ce billet sont fermés.