# Ecrire dans un fichier avec guillemets

**URL:** <https://www.debian-fr.org/t/ecrire-dans-un-fichier-avec-guillemets/52933>\
**Category:** Programmation\
**Created:** [Février 21, 2016, 11:44 UTC](https://www.debian-fr.org/t/ecrire-dans-un-fichier-avec-guillemets/52933 "2016-02-21T11:44:14Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![baxterx](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/b/9fc348/32.png) [@baxterx](https://www.debian-fr.org/u/baxterx)\
**Post date:** [Février 21, 2016, 11:44 UTC](https://www.debian-fr.org/t/ecrire-dans-un-fichier-avec-guillemets/52933/1 "2016-02-21T11:44:14Z")

</div>

Bonjour,

Dans le but d’automatiser la réinstallation de mon serveur je cherche à écrire dans le fichier .bashrc pour y ajouter les alias que j’ai crée et y ajouter la prise en charge des couleurs.  
Mon problème est que ce fichier contient des guillemets. Et je me retrouve avec l’erreur: "Syntax error: Unterminated quoted string"  
Donc comment faire pour écrire dans un fichier qui va contenir des guillemets?

A titre d’exemple, exécutez ce script chez vous:

[code]echo "# ~/.bashrc: executed by bash(1) for non-login shells.

# Note: PS1 and umask are already set in /etc/profile. You should not

# need this unless you want different defaults for root.

# PS1=’${debian\_chroot:+($debian\_chroot)}\h:\w$ ’

# umask 022

# You may uncomment the following lines if you want `ls’ to be colorized:

# export LS\_OPTIONS=’–color=auto’

# eval “`dircolors`”

alias ls='ls $LS\_OPTIONS’  
alias ll='ls $LS\_OPTIONS -l’  
alias l=‘ls $LS\_OPTIONS -lA’

# 

# Some more alias to avoid making mistakes:

alias rm='rm -i’  
alias cp='cp -i’  
alias mv=‘mv -i’  
" \> /tmp/scriptTest  
[/code]

---

<div class="post-metadata">

**Author:** ![thuban](https://www.debian-fr.org/user_avatar/www.debian-fr.org/thuban/32/4177_2.png) [@thuban](https://www.debian-fr.org/u/thuban)\
**Post date:** [Février 21, 2016, 11:44 UTC](https://www.debian-fr.org/t/ecrire-dans-un-fichier-avec-guillemets/52933/2 "2016-02-21T11:44:15Z")

</div>

Il faut mettre \ devant. Par exemple :

```auto

```

---

<div class="post-metadata">

**Author:** ![baxterx](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/b/9fc348/32.png) [@baxterx](https://www.debian-fr.org/u/baxterx)\
**Post date:** [Février 21, 2016, 11:44 UTC](https://www.debian-fr.org/t/ecrire-dans-un-fichier-avec-guillemets/52933/3 "2016-02-21T11:44:15Z")

</div>

J’ai déja essayé et le résultat est le même

```auto
echo "
# ~/.bashrc: executed by bash(1) for non-login shells.

# Note: PS1 and umask are already set in /etc/profile. You should not
# need this unless you want different defaults for root.
# PS1=\'${debian_chroot:+($debian_chroot)}\h:\w\$ \'
# umask 022

# You may uncomment the following lines if you want `ls\' to be colorized:
# export LS_OPTIONS=\'--color=auto\'
# eval "`dircolors`"
alias ls=\'ls $LS_OPTIONS\'
alias ll=\'ls $LS_OPTIONS -l\'
alias l=\'ls $LS_OPTIONS -lA\'
#
# Some more alias to avoid making mistakes:
alias rm=\'rm -i\'
alias cp=\'cp -i\'
alias mv=\'mv -i\'
" > scriptTEST
```

---

<div class="post-metadata">

**Author:** ![MisterFreez](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/bb73d2/32.png) [@MisterFreez](https://www.debian-fr.org/u/MisterFreez)\
**Post date:** [Février 21, 2016, 11:44 UTC](https://www.debian-fr.org/t/ecrire-dans-un-fichier-avec-guillemets/52933/4 "2016-02-21T11:44:15Z")

</div>

Ça passe mieux comme ça ?

```auto
cat > scriptTEST <<EOF
# ~/.bashrc: executed by bash(1) for non-login shells.

# Note: PS1 and umask are already set in /etc/profile. You should not
# need this unless you want different defaults for root.
# PS1=\'${debian_chroot:+($debian_chroot)}\h:\w\$ \'
# umask 022

# You may uncomment the following lines if you want `ls' to be colorized:
# export LS_OPTIONS='--color=auto'
# eval "`dircolors`"
alias ls='ls $LS_OPTIONS'
alias ll='ls $LS_OPTIONS -l'
alias l='ls $LS_OPTIONS -lA'
#
# Some more alias to avoid making mistakes:
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
EOF
```

---

<div class="post-metadata">

**Author:** ![baxterx](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/b/9fc348/32.png) [@baxterx](https://www.debian-fr.org/u/baxterx)\
**Post date:** [Février 21, 2016, 11:44 UTC](https://www.debian-fr.org/t/ecrire-dans-un-fichier-avec-guillemets/52933/5 "2016-02-21T11:44:17Z")

</div>

Non…  
Même erreur.

---

<div class="post-metadata">

**Author:** ![MisterFreez](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/bb73d2/32.png) [@MisterFreez](https://www.debian-fr.org/u/MisterFreez)\
**Post date:** [Février 21, 2016, 11:44 UTC](https://www.debian-fr.org/t/ecrire-dans-un-fichier-avec-guillemets/52933/6 "2016-02-21T11:44:18Z")

</div>

Après lecture de la doc de bash :

```auto
cat > scriptTEST <<"EOF"
# ~/.bashrc: executed by bash(1) for non-login shells.

# Note: PS1 and umask are already set in /etc/profile. You should not
# need this unless you want different defaults for root.
# PS1=\'${debian_chroot:+($debian_chroot)}\h:\w\$ \'
# umask 022

# You may uncomment the following lines if you want `ls' to be colorized:
# export LS_OPTIONS='--color=auto'
# eval "`dircolors`"
alias ls='ls $LS_OPTIONS'
alias ll='ls $LS_OPTIONS -l'
alias l='ls $LS_OPTIONS -lA'
#
# Some more alias to avoid making mistakes:
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
EOF
```

Je te laisse jouer au jeu des 7 différences pour voir la différence entre cette version et celle de mon poste précédent pour ne pas être allé cherché dans la doc avant de redemander. 🙂

---

<div class="post-metadata">

**Author:** ![baxterx](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/b/9fc348/32.png) [@baxterx](https://www.debian-fr.org/u/baxterx)\
**Post date:** [Février 21, 2016, 11:44 UTC](https://www.debian-fr.org/t/ecrire-dans-un-fichier-avec-guillemets/52933/7 "2016-02-21T11:44:19Z")

</div>

Lol, cachottier va.  
Merci ça fonctionne à merveille!
