Allo ?! Allo ? Tu m’entends ?! T’es une variable et tu t’appelle « toto » ! Non, mais allo ? Allo, quoi ?! 
Plus sérieusement, tu compare avec = au lieu de ==. Évidement une variable qui s’appelle totot ce n’est pas très propre et les chemins de fichiers complets non plus. Tu peut aussi simplifier le programme (quoi qu’il arrive tu redémarre alsa-utils) et je ne connais pas assez /proc/asound/modules pour faire confiance à un tail -n1, avec awk c’est un peu plus sûr. J’ai repris le fonctionnement que tu semblais vouloir mais à mon avis, il vaudrait mieux faire comme dans le second script :
[code]#!/bin/bash
state=$(awk ‘/snd_usb_audio/{print $1}’ /proc/asound/modules);
if [[ “$state” == “1” && -f “${HOME}/.asoundrc_bak” ]]; then
echo "casque branché : Renommage du bak en rien"
mv “${HOME}/.asoundrc_bak” "${HOME}/.asoundrc"
elif [[ “$state” == “0” && -f “${HOME}/.asoundrc” ]]; then
echo "Casque débranché : renommage du rien en bak"
mv “${HOME}/.asoundrc” "${HOME}/.asoundrc_bak"
else
echo "simple redemarrage"
fi
/etc/init.d/alsa-utils restart[/code]
Second :
[code]#!/bin/bash
state=$(awk ‘/snd_usb_audio/{print $1}’ /proc/asound/modules);
if [[ “$state” == “1” && -f “${HOME}/.asoundrc_bak” ]]; then
echo "casque branché : Renommage du bak en rien"
mv “${HOME}/.asoundrc_bak” "${HOME}/.asoundrc"
elif [[ -f “${HOME}/.asoundrc” ]]; then
echo "Casque débranché : renommage du rien en bak"
mv “${HOME}/.asoundrc” "${HOME}/.asoundrc_bak"
else
echo "simple redemarrage"
fi
/etc/init.d/alsa-utils restart[/code]
Mais j’aime pas le fort couplage avec un fichier extérieur, on peut faire mieux (maintenant que j’ai lu ton autre sujet) :
[code]#!/bin/bash
state=$(awk ‘/snd_usb_audio/{print $1}’ /proc/asound/modules);
if [[ “$state” == “1” ]]; then
echo "casque branché : Création du asoundrc"
cat >> “${HOME}/.asoundrc” <<EOF
defaults.ctl.card 1
defaults.pcm.card 1
defaults.pcm.device 0
EOF
else
echo "Casque débranché : Suppression de asoundrc"
rm "${HOME}/.asoundrc"
fi
/etc/init.d/alsa-utils restart[/code]
Comme ça tu n’a plus besoin de fichier extérieur.
L’étape supplémentaire c’est de regarder du coté de udev pour lancer ton script au branchement et débranchement de ton casque de manière automatique. Je te laisse commencé à chercher dans ce sens et n’hésite pas à venir poser des questions si tu es en galère 