À ajouter dans le .bashrc / autre fichier
# Check git branches
parse_git_branch () {
git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1) /'
}
export PS1="$PS1\$(parse_git_branch) "
Pour être plus propre, redéfinir directement la variable $PS1
en ce que vous souhaitez. Par défaut : `${debian_chroot:+($debian_chroot)}[\033[01;32m]\u@\h[\033[00m]: ↪[\033[01;34m]\w[\033[00m]\$ $(parse_git_branch)``fera le taf.
Un générateur de profil bash (c.à.d. la variable $PS1)
TL;DR : ^D
ou CTRL+D
L'exemple est beaucoup mieux que de longue explication.
cat | cowsay
prend la saisie clavier par stdin (avec cat) et envoie le tout dans la commande cowsay. Et comment dire : ça y est tu peux prendre toute la saisie jusquìci et l'envoyer dans cowsay ? Envoyer le signal par CTRL+D
Pour tester, on peut remplacer cowsay par figlet :)
Ou même directement écrire dans un fichier texte : cat >> file.txt
EDIT : CTRL+D
envoie le signal "Fin de transmission" pour être exact
De explications claires et précises comme on les aime.
Vraiment très bien écrit <3
Par exemple, mv \-nom-de-fichier.pdf nom-de-fichier.pdf
ne fonctionne pas.
La solution est mv ./-nom-de-fichier.pdf nom-de-fichier.pdf
TL;DR
Message d'erreur : Error mounting /dev/something at /media/someplace: unknown filesystem type 'exfat'
Solution : sudo apt-get install exfat-fuse exfat-utils
de Sebsauvage.
C'est tellement vrai
Juste une commande sed.
Un bon début :)
Remarque : la syntaxe est la même que celle de vim :D
Eh bien je vais tester FZF et ripgrep, on verra ce que ça donne
Copier/coller en bash :)
C'est déjà plus pratique que de sélectionner à la souris.
Ensuite pour copier des commandes, on peut jouer avec l'historique :
echo "!!" |xclip
pour copier la dernière commande exécutée ou echo "!-n" |xclip
pour copier la n-ième commande précédente dans l'historique.
En fait, on peut éviter d'enregistrer des commandes bash dans l'historique en les faisant précéder d'un espace !
Le truc cool, c'est de détacher un process où on a oublié nohup
.
La solution : passer la tâche en arrière-plan (^Z) puis disown
. Ou disown %n
avec n l'id dans la queue des jobs.
Et dire que j'ai attendu plusieurs mois pour le lire !
Le fichier config de SSH est finalement vital pour une utilisation quotidienne de SSH. C'est beaucoup plus pratique que de passer par des alias bash !
Ça parle alias et fonction bash
Je ne me souviens jamais de la différence entre $* et $@ dans un script bash.
La voilà :
Expression | Résultat |
---|---|
$* | $1 $2 $3 … ${N} |
$@ | $1 $2 $3 … ${N} |
"$*" | "$1c$2c$3c…c${N}" |
"$@" | "$1" "$2" "$3" … "${N}" |
Donc en gros, "$@"
est à utiliser dans la plupart des cas.
$*
et $@
sont identiques sans les guillemets.
Utile pour la dernière partie sur les flux standards.
Et les raccourcis sympas :
^u
: Cut everything before the cursor to a special clipboard
^k
: Cut everything after the cursor to a special clipboard
^y
: Paste from the spacial clipboard
Ce serait les mêmes que sur emacs.