Outre le then manquant indiqué plus haut, tu va avoir des soucis si certains fichiers comportent des espaces. Il faut que tu liste les fichiers différemment (utilise * plutôt que de lancer un ls, en plus tu économise un fork), et il te faut des guillements de-ci de-là (autour de chaque variable qui représente un fichier).
for i in *; do
[ "$i" = "$myscriptname" ]
...
(je passe sur le fait que je suis contre l'emploi d'une variable "i" quand il n'y a pas d'incrément, on va dire que c'est juste cosmétique).
Un autre problème : comment tu fais si tu as un fichier qui est nommé comme ton script, mais que tu es en train de travailler sur un autre répertoire ? Ce fichier ne sera pas renommé, il faut prévoir ce cas aussi.
Cela dit, une fois que tu te seras bien amusé à écrire ton script et à imaginer ce qui pourrait mal se passer, tu pourras utiliser rename ;-)
# y'a pas que ça...
Posté par nodens . En réponse au message erreur if , fi ?. Évalué à 7.
for i in *; do
[ "$i" = "$myscriptname" ]
...
(je passe sur le fait que je suis contre l'emploi d'une variable "i" quand il n'y a pas d'incrément, on va dire que c'est juste cosmétique).
Un autre problème : comment tu fais si tu as un fichier qui est nommé comme ton script, mais que tu es en train de travailler sur un autre répertoire ? Ce fichier ne sera pas renommé, il faut prévoir ce cas aussi.
Cela dit, une fois que tu te seras bien amusé à écrire ton script et à imaginer ce qui pourrait mal se passer, tu pourras utiliser rename ;-)