Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2845 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  mkdir avec une espace dans le nom de fichier dans un script.

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

mkdir avec une espace dans le nom de fichier dans un script.

n°2199671
Profil sup​primé
Posté le 07-08-2013 à 21:52:30  answer
 

Bonjour,  :hello:  
Je veux faire un mkdir avec une espace dans le nom de fichier.
 
J'ai fait ceci.

Code :
  1. #!/bin/bash                                                                                                                                                                                                        
  2. declare -a sub_directories=(src/lib bin obj Documentations);
  3. echo "mkproject"
  4. if ! [ -e $1 ]; then
  5.    declare project_name=$1;
  6.    echo "Project name : " $project_name;
  7.    echo "Creating project.";
  8.    sleep 1.0;
  9.    mkdir $project_name;
  10.    echo "Change directory to " $project_name;
  11.    sleep 0.5;
  12.    cd $project_name;
  13.    echo "Creating sub directory for " $project_name;
  14.    for dir in ${!sub_directories[*]}; do
  15.        echo ${sub_directories[dir]};
  16.        mkdir -p ${sub_directories[dir]};
  17.        sleep 0.5;
  18.    done;
  19. else
  20.    echo "Project named " $1 " alredy exist.";
  21. 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.   ;)

mood
Publicité
Posté le 07-08-2013 à 21:52:30  profilanswer
 

n°2199673
Profil sup​primé
Posté le 07-08-2013 à 22:18:43  answer
 

Ok, j'ai trouvé, merci.
 

Code :
  1. #!/bin/bash                                                                                                                                                                                                        
  2. declare -a sub_directories=(src/lib bin obj Documentations);
  3. echo "mkproject"
  4. if ! [ -e "$1" ]; then
  5.    declare project_name=$1;
  6.    echo "Project name : " $project_name;
  7.    echo "Creating project.";
  8.    sleep 1.0;
  9.    mkdir "$project_name";
  10.    if [ -e "$project_name" ]; then
  11.        echo "Change directory to " $project_name;
  12.        sleep 0.5;
  13.        cd "$project_name";
  14.        echo "Creating sub directory for " $project_name;
  15.        for dir in ${!sub_directories[*]}; do
  16.            echo ${sub_directories[dir]};
  17.            mkdir -p ${sub_directories[dir]};
  18.            sleep 0.5;
  19.        done;
  20.    fi;
  21. else
  22.    echo "Project named " $1 " alredy exist.";
  23. fi;


 
Je corrige si non je vais me faire crier dessus.
Merci encore.


Message édité par Profil supprimé le 07-08-2013 à 22:22:03

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  mkdir avec une espace dans le nom de fichier dans un script.

 

Sujets relatifs
recherche Script Html pour Supprimer la cesure automatiqueproblème avec script php
Grouper 2 fichier txt[PHP / JS] jquery file upload : retrouver nom du fichier uploadé ?
Commande cp dans un script PERLshell bash edition de fichier besoin d'aide
créer un fichier xml et avec Tinyxml et l'afficherMacro VBA pour copier/coller d'EXCEL vers fichier txt
script ftp --> les débits pas affichés dans le fichier de resultats 
Plus de sujets relatifs à : mkdir avec une espace dans le nom de fichier dans un script.


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR