« Shell bash » : différence entre les versions
m (→inputrc) |
Aucun résumé des modifications |
||
Ligne 22 : | Ligne 22 : | ||
===Personnalisation du prompt=== | ===Personnalisation du prompt=== | ||
==inputrc== | ==inputrc== | ||
===Insensibilité à la casse=== | |||
Rendre insensible l'auto complétion du shell bash à la casse (très utile quand on tape vite au clavier et que le système écrit /Etc au lieu de /etc et dit "Aucun fichier ou dossier de ce type"). | Rendre insensible l'auto complétion du shell bash à la casse (très utile quand on tape vite au clavier et que le système écrit /Etc au lieu de /etc et dit "Aucun fichier ou dossier de ce type"). | ||
vim ~/.inputrc | vim ~/.inputrc | ||
Ligne 28 : | Ligne 29 : | ||
set completion-ignore-case On | set completion-ignore-case On | ||
</source> | </source> | ||
===Source de la section=== | |||
= | |||
http://askubuntu.com/questions/87061/can-i-make-tab-auto-completion-case-insensitive-in-the-terminal | http://askubuntu.com/questions/87061/can-i-make-tab-auto-completion-case-insensitive-in-the-terminal | ||
=Redirections= | |||
==Rediriger plusieurs lignes== | |||
Pour ce faire nous utiliserons un EOF (End Of File). Il faut précéder et succéder une chaîne de caractère quelconque par des traits de soulignement afin de marquer le début et la fin de notre bloque de texte (à la manière du ''motd'' Cisco). | |||
===Dans un fichier=== | |||
<source lang="bash"> | |||
ycharbi@XPS13:/tmp$ cat >> foo.txt << _bar_ | |||
> Écrire et | |||
> terminer par le | |||
> même symbole | |||
> _bar_ | |||
ycharbi@XPS13:/tmp$ cat foo.txt | |||
Écrire et | |||
terminer par le | |||
même symbole | |||
</source> | |||
===Dans le shell=== | |||
<source lang="bash"> | |||
ycharbi@XPS13:/tmp$ cat << _foo_ | |||
> Écrire et | |||
> terminer par le | |||
> même symbole | |||
> _foo_ | |||
Écrire et | |||
terminer par le | |||
même symbole | |||
</source> | |||
===Source de la section=== | |||
* https://www.bggofurther.com/fr/2017/10/write-multiple-lines-to-file-in-bash-script/ | |||
=arguments= | |||
Voici une liste d'astuces pour récupérer des arguments tapés en bash | |||
* <source lang="bash" inline><Échap></source>+<source lang="bash" inline>_</source> : colle le dernier argument passé à la dernière commande tapée. | |||
* <source lang="bash" inline>!$</source> : remplace, au moment d'envoyer la commande, le dernier argument passé à la dernière commande tapée. | |||
* <source lang="bash" inline>!:n</source> : remplace, au moment d'envoyer la commande, l'nième argument passé à la dernière commande tapée. | |||
* <source lang="bash" inline>^foo^bar</source> : (à entrer seul, sans commande ni argument) permet de remplacer ''foo'' par ''bar'' dans la commande précédente. Un <source lang="bash" inline>ls /etc</source> suivi d'un <source lang="bash" inline>^/etc^/</source> donnera un <source lang="bash" inline>ls /</source>. | |||
==Source de la section== | |||
* http://linuxfr.org/users/postroutine/journaux/bash-et-les-raccourcis-claviers |
Version du 8 octobre 2017 à 10:15
Le shell bash est l'interpréteur de commande par défaut de la plupart des distributions Linux. Il peut être personnalisé en modifiant son apparence ou en lui activant des paramètres.
Configuration
bashrc
Le .bashrc
est un fichier qui contient des commandes à exécuter au moment de la connexion d'un utilisateur. Il en existe 2 types :
- Un générique pour tout les utilisateurs :
/etc/bash.bashrc
- Un local pour chaque utilisateurs en particulier :
~/.bashrc
Pour que les modifications prennent effet, il faut recharger le fichier après modification soit en relançant le shell, soit en exécutant le fichier comme s'il s’agissait d'une commande . .bashrc
ou bien en utilisant la commande source ~/.bashrc
.
Auto complétion
Le paquet bash-completion
offre la possibilité de compléter les commandes bash à l'aide de la tabulation. Il faut entrer les quelques lignes suivantes dans l'un des fichiers de configuration de bash pour que cela prenne effet.
if ! shopt -oq posix; then
if [ -f /usr/share/bash-completion/bash_completion ]; then
. /usr/share/bash-completion/bash_completion
elif [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
fi
Personnalisation du prompt
inputrc
Insensibilité à la casse
Rendre insensible l'auto complétion du shell bash à la casse (très utile quand on tape vite au clavier et que le système écrit /Etc au lieu de /etc et dit "Aucun fichier ou dossier de ce type").
vim ~/.inputrc
Ajouter cette ligne :
set completion-ignore-case On
Source de la section
http://askubuntu.com/questions/87061/can-i-make-tab-auto-completion-case-insensitive-in-the-terminal
Redirections
Rediriger plusieurs lignes
Pour ce faire nous utiliserons un EOF (End Of File). Il faut précéder et succéder une chaîne de caractère quelconque par des traits de soulignement afin de marquer le début et la fin de notre bloque de texte (à la manière du motd Cisco).
Dans un fichier
ycharbi@XPS13:/tmp$ cat >> foo.txt << _bar_
> Écrire et
> terminer par le
> même symbole
> _bar_
ycharbi@XPS13:/tmp$ cat foo.txt
Écrire et
terminer par le
même symbole
Dans le shell
ycharbi@XPS13:/tmp$ cat << _foo_
> Écrire et
> terminer par le
> même symbole
> _foo_
Écrire et
terminer par le
même symbole
Source de la section
arguments
Voici une liste d'astuces pour récupérer des arguments tapés en bash
<Échap>
+_
: colle le dernier argument passé à la dernière commande tapée.!$
: remplace, au moment d'envoyer la commande, le dernier argument passé à la dernière commande tapée.!:n
: remplace, au moment d'envoyer la commande, l'nième argument passé à la dernière commande tapée.^foo^bar
: (à entrer seul, sans commande ni argument) permet de remplacer foo par bar dans la commande précédente. Unls /etc
suivi d'un^/etc^/
donnera unls /
.