Salut,

Un petit problème avec mon script bash.

J'utilise "read" pour saisir un nom de fichier 'log' en fin de script. Seulement, comme j'ai une vérification, une erreur se produit si je mets un espace blanc. Si j'entre "test tout naze" sur un "read mavariable", je souhaiterais qu'il prenne en compte les espaces comme tel, *et non* comme des séparateurs, me sortant alors "test" "tout" "naze" (3 chaînes).

Voilà le bout de script qui doit me permettre d'entrer et de valider un nom de sauvegarde pour mon fichier, peut-être que je cherche plus compliqué que cela ne l'est réellement, et que j'ai mal construit la chose...

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
function save(){
	function boucle(){
		until [ $nom ]
		do
			echo "Entrez le nom du fichier de sauvegarde (la terminaison '.log' sera ajoutée) :"
			read nom
		done
	}
	boucle
 
	while [ "$check" != yYnN ]
	do
		echo "êtes-vous certain d'utiliser '$nom.log' comme nom de sauvegarde ? [y/n]"
		read -s -n1 check
		case "$check" in
			[yY])
			mv $log $nom.log
			log="$nom.log"
			break;;
			[nN])
			nom=""
			boucle;;
		esac
	done
}
Bonne journée.