Comment creer automatiquement dossier destination pour tar, cp.
Fermé
leon91490
Messages postés
166
Date d'inscription
mardi 19 mai 2009
Statut
Membre
Dernière intervention
9 septembre 2017
-
22 août 2016 à 16:28
mamiemando Messages postés 33453 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 6 janvier 2025 - 23 août 2016 à 11:06
mamiemando Messages postés 33453 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 6 janvier 2025 - 23 août 2016 à 11:06
A voir également:
- Comment creer automatiquement dossier destination pour tar, cp.
- Comment créer un groupe whatsapp - Guide
- Créer un compte google - Guide
- Créer un compte gmail - Guide
- Créer un lien pour partager des photos - Guide
- Dossier appdata - Guide
1 réponse
mamiemando
Messages postés
33453
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
6 janvier 2025
7 812
Modifié par mamiemando le 23/08/2016 à 11:07
Modifié par mamiemando le 23/08/2016 à 11:07
Bonjour,
De telles options n'existent pas.
Explication
Ce qu'il faut bien comprendre c'est que les commandes d'un langage (ici shell) sont un peu ce que sont des mots à une langue. Si la sémantique est suffisamment riche, on peut alors exprimer la plupart des choses. Toute la difficulté est de trouver un curseur entre ce qui "mérite" d'être un mot (une commande) ou une variante (une option associée à ce mot), et ce qui ne doit pas en être. Dit autrement, s'il n'y a pas de commande ou d'option qui fait ce que tu cherches, alors c'est que ton besoin est probablement trop particulier.
C'est exactement ton cas ici. Le travail de
Résolution de ton problème
Supposons que tu veux appeler ta commande
Copie colle dans ce fichier :
Sauve et quitte et donne les droits en exécution :
Puis lance ton script pour tester :
Bonne chance
De telles options n'existent pas.
Explication
Ce qu'il faut bien comprendre c'est que les commandes d'un langage (ici shell) sont un peu ce que sont des mots à une langue. Si la sémantique est suffisamment riche, on peut alors exprimer la plupart des choses. Toute la difficulté est de trouver un curseur entre ce qui "mérite" d'être un mot (une commande) ou une variante (une option associée à ce mot), et ce qui ne doit pas en être. Dit autrement, s'il n'y a pas de commande ou d'option qui fait ce que tu cherches, alors c'est que ton besoin est probablement trop particulier.
C'est exactement ton cas ici. Le travail de
cpest de copier, celui de
tard'archiver ou désarchiver, pas de créer des répertoires. Pour ton besoin, il faut simplement construire un programme qui fera ce que tu souhaites, et le mettre avec des droits d'exécutions dans
/usr/local/binpour en faire une commande.
Résolution de ton problème
Supposons que tu veux appeler ta commande
toto, lance :
gksudo gedit /usr/local/bin/toto
Copie colle dans ce fichier :
#!/bin/bash if [ $# -ne 3 ] ; then echo "$0: options archive contents" &1>2 exit 1 fi options=$1 archive=$2 contents=$3 directory=$(dirname $archive) if [ ! -d $directory ] ; then mkdir -p $directory fi tar $options $archive $contents exit $?
Sauve et quitte et donne les droits en exécution :
sudo chmod a+x /usr/local/bin/toto
Puis lance ton script pour tester :
toto cvzf /dossier/archive/archive.tgz /le/repertoire/a/compresser
Bonne chance