Bonjour,
J'ai un petit problème au niveau de mon script bash dans la récupération du groupe.
j'ai définis les shells suivantes


Code Fifo_client : 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
#! /bin/sh
 
FIFO_SRV=~/noms_ident.fifo
FIFO_CLT=~/fifo_$$.fifo
 
if [ -z "$1" ] ; then
	echo "Syntaxe : $0 identifiant" >&2
	exit 1
fi
 
if [ ! -p $FIFO_SRV ] ; then
	echo "Le serveur n'est pas accessible"
	exit 1
fi
 
mkfifo -m 0622 $FIFO_CLT
if [ ! -p $FIFO_SRV ] ; then
	echo "Impossible de créer la file ~/fifo_$$.fifo"
	exit 1
fi
 
echo "$1 $FIFO_CLT" > $FIFO_SRV
cat < $FIFO_CLT
rm -f $FIFO_CLT


Code Fifo_serveur : 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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#! /bin/sh
 
# Passage en mode démon
if [ "$MON_PID" != "$PPID" ] ; then
	export MON_PID=$$
	MON_LISTING=$(cat $0)
	cd /
	setsid /bin/bash -c "$MON_LISTING" "$0" "$@" 0<&- 1>&- 2>&- &
	logger -t $(basename $0) "Le PID du demon est $!"
	echo "Le PID du démon est $!" >& 2
	exit 0
fi
 
FIFO_SRV=~/noms_ident.fifo
 
function gestionnaire_signaux
{	
	rm -f $FIFO_SRV
	exit 0;
}
trap gestionnaire_signaux EXIT QUIT INT HUP
 
if [ -e $FIFO_SRV ] ; then
	echo "FIN" > $FIFO_SRV &
	exit 0;
fi
 
mkfifo -m 0622 $FIFO_SRV
if  [ ! -p $FIFO_SRV ] ; then
	echo "Impossible de créer la file FIFO $FIFO_SRV"
	exit 1
fi
 
FIN=""
while [ ! $FIN ] ; do
	read IDENT FIFO_CLT < $FIFO_SRV
 
	TROUVE=""
	exec < /etc/passwd
	ANCIEN_IFS="$IFS"
	IFS=":"
	while read ident passe uid gid nom reste ; do
		if [ "$IDENT" == "$ident" ] ; then
			TROUVE="Oui"
			break
		fi
	done
	IFS=$ANCIEN_IFS
 
	if [ "$IDENT" == "FIN" ] ; then
		FIN="Oui"
		TROUVE="Oui"
		nom="Fin du serveur"
	fi
	if [ $TROUVE ] ; then
		echo "$nom" > $FIFO_CLT
	else
		echo "Non trouvé"  > $FIFO_CLT
	fi
done