Exercice sur Linux
Résolu
Bonjour,
Je suis actuellement en troisième année de Licence et Linux n'est pas mon point fort. Je viens vers vous donc pour savoir si les réponses sont bonnes. Merci d'avance
Exercice 1
Écrire un script shell qui affiche, à partir du répertoire courant, tous ses répertoires et ses sous répertoires. Pour chaque répertoire rencontré, afficher la liste des fichiers ordinaires qu'il contient utiliser le script de l'exercice précédent).
#!/bin/bash
function browse {
FILES=$1"/*"
for file in $FILES;
do
if [ -d $file ]; then
browse $file
else
echo $file
fi
done
}
browse $1
Exercice 2
Écrire un script shell qui renomme plusieurs fichiers passés en paramètre. Les nouveaux noms ont pour préfixe le 1er paramètre et pour suffixe le rang de renommage.
#!/bin/bash
prefix=$1
i=0
status=0
for file in "$@";
do
if [ $status -eq 1 ]; then
nn=${prefix}${i}
' mv $file $nn'
fi
status=1
i='expr $i + 1'
done
files='pwd'"/*"
for f in $files;
do
echo $f
done
Je suis actuellement en troisième année de Licence et Linux n'est pas mon point fort. Je viens vers vous donc pour savoir si les réponses sont bonnes. Merci d'avance
Exercice 1
Écrire un script shell qui affiche, à partir du répertoire courant, tous ses répertoires et ses sous répertoires. Pour chaque répertoire rencontré, afficher la liste des fichiers ordinaires qu'il contient utiliser le script de l'exercice précédent).
#!/bin/bash
function browse {
FILES=$1"/*"
for file in $FILES;
do
if [ -d $file ]; then
browse $file
else
echo $file
fi
done
}
browse $1
Exercice 2
Écrire un script shell qui renomme plusieurs fichiers passés en paramètre. Les nouveaux noms ont pour préfixe le 1er paramètre et pour suffixe le rang de renommage.
#!/bin/bash
prefix=$1
i=0
status=0
for file in "$@";
do
if [ $status -eq 1 ]; then
nn=${prefix}${i}
' mv $file $nn'
fi
status=1
i='expr $i + 1'
done
files='pwd'"/*"
for f in $files;
do
echo $f
done
A voir également:
- Exercice sur Linux
- Linux reader - Télécharger - Stockage
- Toutou linux - Télécharger - Systèmes d'exploitation
- Backtrack linux - Télécharger - Sécurité
- R-linux - Télécharger - Sauvegarde
- Linux mint 22.1 - Accueil - Linux
3 réponses
Le mieux pour valider ton approche c'est tout simplement de tester, par exemple en installant linux dans une machine virtual (genre virtual box) ou en l'installant (par exemple sur une clé USB avec unetbootin). Tu peux aussi installer cygwin mais le comportement n'est pas tout à fait le même que sous linux.
Exercice 1 : j'aurais plutôt utilisé find + un tube (pipe) + echo ce qui permet de résoudre l'exercice en une ligne. Je pense que c'est plus la réponse attendue même si à première vue ton script à l'air correct.
Exercice 2. Je ne comprends pas trop l'intérêt de la variable status, pourquoi ne pas avoir initialisé i directement à 1. Je ne comprends pas pourquoi la commande mv est entre quotes.
Bonne chance
Exercice 1 : j'aurais plutôt utilisé find + un tube (pipe) + echo ce qui permet de résoudre l'exercice en une ligne. Je pense que c'est plus la réponse attendue même si à première vue ton script à l'air correct.
Exercice 2. Je ne comprends pas trop l'intérêt de la variable status, pourquoi ne pas avoir initialisé i directement à 1. Je ne comprends pas pourquoi la commande mv est entre quotes.
Bonne chance