Demande conseil(s) pour une ligne de commande

Je voudrais votre avis sur une commande que je voudrais formuler correctement.

=====================
Si dans le fichier “~/.config/Terminal/terminalrc” il existe une ligne dont le contenu est “MiscBell=TRUE”,
les alertes sous forme de beeps se feront entendre dans le terminal.
Si cette ligne est absente ou est remplacée par “MiscBell=FALSE”, les beeps ne se feront plus entendre.
Je pensais dans un premier temps supprimer cette ligne si elle existait pour la remplacer par la ligne de son choix,
J’avais, bien sûr, tout d’abord pensé utiliser uniquement “sed”, mais la chaîne “MiscBell=” n’est pas toujours présente dans le fichier.
Alors, j’ai trouvé plus simple de la supprimer si elle était là, avant d’y insérer la chaîne.

Donc, pour pouvoir entendre les beeps, il faudrait donc lancer la commande:

fichrc=.config/Terminal/terminalrc;sed -i '/MiscBell/d' $fichrc;echo "MiscBell=TRUE" >> $fichrc
et pour ne plus entendre les bepps, il faudrait donc lancer:

=======================
Je voudrais votre avis et vos conseils pour en faire quelque chose de “propre”.

Merci

EDIT: Je me réponds à moi même:

Une première erreur:
J’utilisai un chemin relatif pour le nom du fichier (".config/Terminal/terminalrc"), ce qui fait que cette commande entrée depuis un autre dossier courant ne trouvait pas le fichier.
Une autre remarque: ce fichier n’existe pas dans l’environnement de Kde (et j’ai les les ai pas essayé tous).

salut,

f="~/.config/Terminal/terminalrc" if test -s "$f" then sed -i '/MiscBell/d; $a\ MiscBell=FALSE' "$f" else echo "MiscBell=FALSE" > "$f" fi

Merci pour tout ça, je vais tâcher de comprendre.

Pour le test de présence du fichier sinon création par redirection, je vois bien.

Par contre, va falloir que j’étudie la, (ou peut-être les deux) lignes de la commande “sed”.

[strike]Si j’ai bien compris, il y a deux commandes chaînées par un caractère “$” pour “sed” (je découvre…) :
Est-ce que le caractère “$” est utilisé dans “sed” pour lui dire:

si la dernière commande s'est bien déroulée alors sortir de sed sinon exécuter la commande sed qui suit etc...[/strike]

sed -i '/MiscBell/d; $a\ MiscBell=FALSE' "$f"
[strike]Supprimer la ligne contenant la chaîne “MiscBell” XOR aller à la fin du fichier “$f” et insérer la chaîne “MiscBell=FALSE”.
Mais le “backslash” dans la commande “sed” j’ai pas compris…

J’ai pourtant testé en reformulant la commande de la façon suivante sans constater de changement de comportement.

[strike]Est-il possible d’avoir une explication ou une piste au sujet de ce backslash ?[/strike]

EDIT: En fait,
le “$a” c’était juste la commande “ajouter” à la fin du fichier “$”,
et le “” qui suivait, c’était pour échapper le retour chariot qui débute la chaîne à insérer: “MiscBell=FALSE”.

En résumé pour la commande “sed”:
1°/ Supprimer la ligne du fichier qui contient la chaîne "MiscBell"
2°/ Ajouter un retour chariot à la fin du fichier, suivit de la chaîne “MiscBell=FALSE”

En tout cas un grand Merci.