54 lines
1.2 KiB
Markdown
54 lines
1.2 KiB
Markdown
# Astuces SHell
|
|
|
|
## Shell -> HTML
|
|
|
|
~~~
|
|
# apt install aha
|
|
$ script-foo-colors | aha > output.html
|
|
~~~
|
|
|
|
## Initialisation du shell
|
|
|
|
Entre les 3 modes ("login", "interactive non-login" et "non-interactive non-login") il y a de quoi se perdre à propos des fichiers chargés. Voici un rappel assez complet : <https://github.com/rbenv/rbenv/wiki/Unix-shell-initialization>
|
|
|
|
## Script shell
|
|
|
|
Style guide : <https://google.github.io/styleguide/shell.xml>
|
|
|
|
## History Bash
|
|
|
|
`bashrc` :
|
|
|
|
~~~
|
|
export HISTCONTROL=$HISTCONTROL${HISTCONTROL+,}ignoreboth
|
|
export HISTSIZE=65535
|
|
export HISTTIMEFORMAT="%c : "
|
|
~~~
|
|
|
|
> *Note* : si besoin on peut `chattr +a /root/.bash_history` pour empêcher sa suppression
|
|
|
|
## Changer l'editeur de texte par défaut pour une commande
|
|
|
|
Normalement le script (vipw, vigr, -ldapvi, ...) se réfère aux fichiers scripts (qui ne sont que des liens vers les binaires) :
|
|
|
|
~~~{.bash}
|
|
/etc/alternatives/
|
|
~~~
|
|
|
|
Sinon en ligne de commande :
|
|
|
|
~~~{.bash}
|
|
$ EDITOR=nano vipw
|
|
~~~
|
|
|
|
## Savoir si lignes en doublon dans un fichier
|
|
|
|
~~~{.bash}
|
|
$ diff <fichier> <(cat <fichier> | uniq)
|
|
~~~
|
|
|
|
## Comparer deux fichiers quant à l'existence de nouvelles lignes
|
|
|
|
~~~{.bash}
|
|
$ grep -F -x -v -f <fichier1> <fichier2>
|
|
~~~ |