[shell] commande dans une variable
tlep
Messages postés
597
Statut
Membre
-
tlep Messages postés 597 Statut Membre -
tlep Messages postés 597 Statut Membre -
Bonjour,
Je cherche à construire une commande dans une variable afin de l'exécuter après, mais j'ignore comment faire.
Exemple :
Path_to_Exclude=("/dev" "/sys" "/proc" "/usr")
COMMANDE="find / -type d"
for L in $(seq 0 $(expr ${#Path_to_Exclude[*]} - 1));do
COMMANDE=""$COMMANDE" -path "${Path_to_Exclude[$L]}" -prune -o "
done
Ce donne :
find / -type d -path /dev -prune -o -path /sys -prune -o -path /proc -prune -o -path /usr -prune -o -print
Mais ensuite, j'ignore comment exécuter ma commande "$COMMANDE" !!
Merci pour vos lumières :-)
Je cherche à construire une commande dans une variable afin de l'exécuter après, mais j'ignore comment faire.
Exemple :
Path_to_Exclude=("/dev" "/sys" "/proc" "/usr")
COMMANDE="find / -type d"
for L in $(seq 0 $(expr ${#Path_to_Exclude[*]} - 1));do
COMMANDE=""$COMMANDE" -path "${Path_to_Exclude[$L]}" -prune -o "
done
Ce donne :
find / -type d -path /dev -prune -o -path /sys -prune -o -path /proc -prune -o -path /usr -prune -o -print
Mais ensuite, j'ignore comment exécuter ma commande "$COMMANDE" !!
Merci pour vos lumières :-)
A voir également:
- [shell] commande dans une variable
- Invite de commande - Guide
- Classic shell - Télécharger - Personnalisation
- Commande terminal mac - Guide
- Diskpart commande - Guide
- Commande dism - Guide
5 réponses
Ben non çà ne marche pas plus que
`$COMMANDE` : ca me met
find / -type d -path /dev -prune -o -path /sys -prune -o -path /proc -prune -o -path /usr -prune -o -print: Aucun fichier ou répertoire de ce type
:-((
`$COMMANDE` : ca me met
find / -type d -path /dev -prune -o -path /sys -prune -o -path /proc -prune -o -path /usr -prune -o -print: Aucun fichier ou répertoire de ce type
:-((
Salut,
Rajoutes après ta ligne "she-bang" :
set -xv
Lances ton script et affiches nous la sortie verbeuse ;-))
Rajoutes après ta ligne "she-bang" :
set -xv
Lances ton script et affiches nous la sortie verbeuse ;-))
Heu si j'ai bien compris, j'ai fait :
Path_to_Exclude=("/dev" "/sys" "/proc" "/usr")
COMMANDE="find /"
for L in $(seq 0 $(expr ${#Path_to_Exclude[*]} - 1));do
COMMANDE=""$COMMANDE" -path "${Path_to_Exclude[$L]}" -prune -o"
done
COMMANDE=""$COMMANDE" -print"
echo "$COMMANDE"
${COMMANDE}
set -xv
Ca me donne toujours :
find / -path /dev -prune -o -path /sys -prune -o -path /proc -prune -o -path /usr -prune -o -print
./verif_size.sh: line 16: find / -path /dev -prune -o -path /sys -prune -o -path /proc -prune -o -path /usr -prune -o -print: Aucun fichier ou répertoire de ce type
exit
+ exit
Mais le pire, c'est que je ne parviens même pas à mettre seulement les options de find en variable :
Path_to_Exclude=("/dev" "/sys" "/proc" "/usr")
for L in $(seq 0 $(expr ${#Path_to_Exclude[*]} - 1));do
OPTIONS=""$OPTIONS" -path "${Path_to_Exclude[$L]}" -prune -o"
done
find / -type d "$OPTIONS"
=> find: les chemins doivent précéder l'expression
Usage: find [-H] [-L] [-P] [CHEMIN...] [EXPRESSION]
C'est dingue non ?
Path_to_Exclude=("/dev" "/sys" "/proc" "/usr")
COMMANDE="find /"
for L in $(seq 0 $(expr ${#Path_to_Exclude[*]} - 1));do
COMMANDE=""$COMMANDE" -path "${Path_to_Exclude[$L]}" -prune -o"
done
COMMANDE=""$COMMANDE" -print"
echo "$COMMANDE"
${COMMANDE}
set -xv
Ca me donne toujours :
find / -path /dev -prune -o -path /sys -prune -o -path /proc -prune -o -path /usr -prune -o -print
./verif_size.sh: line 16: find / -path /dev -prune -o -path /sys -prune -o -path /proc -prune -o -path /usr -prune -o -print: Aucun fichier ou répertoire de ce type
exit
+ exit
Mais le pire, c'est que je ne parviens même pas à mettre seulement les options de find en variable :
Path_to_Exclude=("/dev" "/sys" "/proc" "/usr")
for L in $(seq 0 $(expr ${#Path_to_Exclude[*]} - 1));do
OPTIONS=""$OPTIONS" -path "${Path_to_Exclude[$L]}" -prune -o"
done
find / -type d "$OPTIONS"
=> find: les chemins doivent précéder l'expression
Usage: find [-H] [-L] [-P] [CHEMIN...] [EXPRESSION]
C'est dingue non ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question