Astuces en vrac
Voici quelques astuces que j’ai découvertes ces derniers mois et que j’ai pensées à noter pour plus tard, et aussi pour les partager:
Ligne de commande
- Quand la commande
realpath
n’est pas disponible, la commandereadlink -f
peut la remplacer; -
pwd -P
résout les liens symboliques; -
less -i
rend la recherche insensible à la case (taper-i
) à l’intérieur d’unless
marche aussi; -
git log --oneline -- path/to/directory/
liste rapidement toutes les commits qui ont affecté un répertoire.
Sudo
sudo une-commande-qui-genere-du-texte >> fichier-not-writable
ne marchera pas, parce que sudo
est utilisé par la commande seulement, pas pour la redirection. Il faut utiliser sudo tee
sudo une-commande-qui-genere-du-texte | tee -a fichier-not-writable
Environnement hostile (netcat non disponible)
Pour tester si un port est ouvert en bash, lorsque ni netcat
, ni telnet
ne sont pas disponible ou installable:
(echo > /dev/tcp/skinner/22) >/dev/null 2>&1 \ && echo "It's up" || echo "It's down"
Javascript
document.getElementsByTagName('img')
retourne une [[https://developer.mozilla.org/en-US/docs/Web/API/NodeList][Nodelist]]
, et non un [[https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array][array]]
. Heureusement l’opérateur ...
va vous aider:
[...document.getElementsByTagName('img')].forEach(t => {t.remove()})
Ansible:
- Attention à ne pas confondre:
database: "{{ ansible_env.MYSQL_DATABASE }}"
etuser: "{{ lookup('env', 'MYSQL_USER') }}"
:-
env
récupère une variable de l’environnement de la machine source; -
ansible_env
récupère une variable de l’environnement de la machine cible.
-
- Le module
rsync
peut être utilisé derrière un bastion ssh uniquement avec l’optionuse_ssh_args: yes