Je crée un dossier comme
mkdir -p ../service/target/static
mais Windows le crée avec un caractère spécial static
. J'ai besoin de supprimer explicitement ce caractère spécial en utilisant le shell script. J'ai essayé avec les commandes rn et mv mais cela ne semble pas fonctionner et la commande rename donnant l'erreur command not found.
0 votes
Vous avez dit "mais Windows le crée...", et bien si vous utilisez Windows... alors ce n'est pas l'endroit approprié pour votre question. Cela dit, vous devriez toujours utiliser des guillemets, simples ou doubles selon le cas, pour éviter tout problème. par ex :
mkdir -p '../service/target/static'
0 votes
Cela ne semble pas fonctionner avec les guillemets.
1 votes
Est-ce que le
mkdir
dans un shell script ? Si c'est le cas, le script peut avoir des fins de ligne de type DOS/Windows, qui incluent un caractère de retour chariot que l'interpréteur de commandes Unix considérera comme faisant partie de la ligne de commande (et dans ce cas, comme faisant partie du nom de fichier). Voir cette question de stackoverflow .0 votes
Dos2unix a fonctionné pour moi.
0 votes
Vous dites donc
mv static? staticx
ne remplacerait pas le caractère spécial par la lettrex
?0 votes
Non. Le problème est lié à ce que @gordon a mentionné. Après avoir utilisé la commande dos2unix sur ce fichier script, aucun caractère spécial n'a été généré.