Script shell

Bonjour,

je veut ecrire un script shell sui permet de creer un nombre n de fichien , ce nombre etant donner en parametre et qui ont pour format ( file0.txt , file1.txt , ......)
ces fichiers sont créés avec une taille nulle(0 octet) et ont comme droits d'acces : rw- r-- rw- !

et merci !
Configuration: Windows XP
Firefox 2.0.0.11

8 réponses

  • Votes
  • Date
  • Date décroissante
  1. Apparament y a pas une reponce plus développé !
    1. Modérateur
      Ben non tant que tu ne feras pas un effort de ton côté ;-))
  2. tkt j fait mon mieux mais j'arrive pas a faire donner le nombre de fichiers n en paramétre!
    pour la craetion des fivhier on utlise la comende touch et pour les droits d'acces la commande chmod !

    stp si tu peut juste me donner la fason de passer le nombre de fichier en parametre !
    1. Contributeur
      salut, en ce qui concerne les droits, tu peux aussi jetter un oeil sur umask :)
      1. pour la déclaration de nombre de fichier n , ca peu fonctionne avec la boucle for....do comme ca :

        for (test i=0 , test i<=$1 , test i=i+1)
        do
        1. Modérateur
          Re-

          Pour des raisons qui m'échappent, l'emploi de la commande "touch" sous la forme "touch fichier{0..$1}.txt", sous quelques formes que ce soit, à l'intérieur d'un script (ou même en ligne de commande "set 3; touch fichier{0..$1}.txt") conduit immanquablement à la création d'un unique fichier nommé "fichier0..3.txt" !!!

          L'expansion des accolades n'a pas lieu !?
          Si quelqu'un a une explication à me donner je suis preneur et je l'en remercie d'avance ;-))

          Donc de ce fait je t'ai induit en erreur ;-[

          Bon pour m'excuser de t'avoir orienté vers une mauvaise solution, voici un bout de code permettant de créer le nom de fichier passé en paramètre au script :
          #! /bin/bash
          
          #set -xv
          
          if [ -z "$1" ]
          then
          echo "Paramètre absent"
          exit
          else
          for i in $(seq "$1")
          do
          touch "fichier${i}.txt"
          done
          fi
          
          ;-))
          1. Contributeur
            Salut,

            apparemment bash 'prends' les paramètres tel-quel sans chercher à les interpréter:

                   Le  développement  des  accolades  est effectué avant tout autre développement et
                   tous les caractères ayant une signification spéciale pour les  autres  développe-
                   ments  sont  conservés  dans  le  résultat. Il s’agit d’une modification purement
                   littérale. Bash n’effectue aucune interprétation syntaxique du  texte  entre  les
                   accolades.


            bizarre comme comportement.... :-)
        2. Merci amidos , tout a fait c'est la méme remarque que j'ai aperçu sur le fonctionement de la commende touche !

          pour le code ca march bien mais pour moi ce que je veut que création d'un nombre de fichier n , par exemple on suppose que le nom de script est calcul , on ve l'executer :
          ./ calcul 5

          (5 etant le nombre de fichierqu'on ve le creer )

          et ça donne 5 fichier du forme file0.txt , file1.txt...........file5.txt !

          dsl pour le dérang!
          1. Modérateur
            pour le code ca march bien mais pour moi ce que je veut que création d'un nombre de fichier n , par exemple on suppose que le nom de script est calcul , on ve l'executer :
            ./ calcul 5

            Ben c'est exactement ce que fait le programme ci-dessus ;-))

            Tien en prime, en rajoutant la ligne en gras, tes fichiers seront créés avec les droits voulus :
            #! /bin/bash
            
            if [ -z "$1" ]
            then
            echo "Paramètre absent"
            exit
            else
            umask 020
            for i in $(seq "$1")
            do
            touch "fichier${i}.txt"
            done
            fi
            ;-))
        3. merci mon ami :)

          ça marche bien !

          dis moi ya pa une commance qui peut créér une repertoire avec ue taille nul
          et une commende qui permet d calculer le nombre de fichiers ds une répéertoire !