Bonjour,
Je veux faire un mkdir avec une espace dans le nom de fichier.
J'ai fait ceci.
Code :
#!/bin/bash declare -a sub_directories=(src/lib bin obj Documentations); echo "mkproject" if ! [ -e $1 ]; then declare project_name=$1; echo "Project name : " $project_name; echo "Creating project."; sleep 1.0; mkdir $project_name; echo "Change directory to " $project_name; sleep 0.5; cd $project_name; echo "Creating sub directory for " $project_name; for dir in ${!sub_directories[*]}; do echo ${sub_directories[dir]}; mkdir -p ${sub_directories[dir]}; sleep 0.5; done; else echo "Project named " $1 " alredy exist."; fi;
|
Qui declare un tableau de sous répertoires à créer.
qui vérifie si le fichier n'existe pas.
qui crée le répertoire.
execute un change directory dans le nouveau répertoire (sans controler si il existe )
et crée la sous arborescence.
Mon problème est que quelque part la chaîne en entrée est scinder en plusieurs mots.
Je cherche les bonne protection ou la bonne méthode pour parvenir à ma fin, je suis sur Gnu/Linux en bash.
s'il vous plaît, merci.