Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".
Test de l'ISO d'Ubuntu francophone : nous avons besoin de testeurs pour la version francophone d'Ubuntu 14.04. Liens et informations ici.
nombre réponses : 25

#0 Re : -1 »  [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...) » Le 24/03/2013, à 11:26

Bousky
Réponses : 1734

Elle est très loin d'être complète…


Pour ceux que ça peut inspirer, voici mon prompt (bash) :

#!/bin/bash

function bsk_prompt {
	case "$1" in
		1|2|3) ;;
		*) return 1 ;;
	esac

	# définition des couleurs
	local usr_root="\[\e[1;31m\]"  # utilisateur root (uid = 0)
	local usr_sys="\[\e[1;32m\]"   # utilisateurs système (uid < 1000)
	local usr_std="\[\e[1;33m\]"   # utilisateurs standards (uid >= 1000)
	local host="\[\e[1;35m\]"      # hostname
	local pwd="\[\e[1;36m\]"       # répertoire
	local pwd_clear="\[\e[1;34m\]" # répertoire (meilleure visibilité sur fond clair)
	local git="\[\e[1;31m\]"       # branche git
	local git_info="\[\e[31m\]"    # état du dépôt git
	local prompt="\[\e[31m\]"      # PS2 et fin de PS1 multi-ligne
	local null="\[\e[0m\]"         # réinitialisation des attributs graphiques
	local return="\E[1;31m⏎\e[0m"  # retour à la ligne avant le prompt

	# messages git
	local git_ahead="push"
	local git_behind="pull"
	local git_commit="commit"
	local git_untracked="untracked"
	
	local bw
	case "$2" in
		clear) pwd="$pwd_clear" ;;
		bw) bw="1" ;;
		"") ;;
		*) return 1 ;;
	esac
	
	[ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null || bw=1
	if [ "$bw" ] ; then
		usr_root=
		usr_sys=
		usr_std=
		host=
		pwd=
		git=
		git_info=
		prompt=
		null=
		return="⏎"
	fi

	local git_cmd='$(
		if git status &>/dev/null ; then
			echo -n ">'$git'"$(git branch | sed '\''/^\*/!d;s/^* //'\'')"'$null'"
			[ "$(git status -s | grep ^??)" ] && echo -n "-'$git_info$git_untracked$null'"
			[ "$(git status -s | grep -v ^??)" ] && echo -n "-'$git_info$git_commit$null'"
			git status | grep "^# Your branch is behind" &>/dev/null && echo -n "-'$git_info$git_behind$null'"
			git status | grep "^# Your branch is ahead" &>/dev/null && echo -n "-'$git_info$git_ahead$null'"
		fi
	)'

	# retour à la ligne si la dernière commande ne l'a pas fait
	PROMPT_COMMAND='echo -en "\E[6n";read -sdR PRMPTCURPOS;[ ${PRMPTCURPOS#*;} -eq 1 ]||echo -e "'$return'";unset PRMPTCURPOS'
	# rectangle de couleur en fonction de la valeur d'erreur de la dernière commande
	if [ "$bw" ] ; then
		PS1=
	else
		PS1='\[\e[0;$(
			case $? in
				0  |130|147|148) echo "42" ;;
				137|143        ) echo "44" ;;
				*              )
					if [ $? -ge 126 ] ; then
				                 echo "41"
					else
				                 echo "43"
					fi
			esac
		)m\] \[\e[0m\] '
	fi
	# ligne du dossier pour un prompt à trois lignes
	case "$1" in
		1|2) ;;
		3) PS1="${PS1}${pwd}\w${null}${git_cmd}:\n${prompt}|${null} " ;;
	esac
	# choix de la couleur de l'utilisateur
	if [ `id -u` -eq 0 ] ; then
		PS1="${PS1}${usr_root}"
	elif [ `id -u` -ge 1000 ] ; then
		PS1="${PS1}${usr_sys}"
	else
		PS1="${PS1}${usr_std}"
	fi
	# user@host
	PS1="${PS1}\u${null}@${host}\h${null}"
	# dossier pour un prompt à une ou deux lignes
	case "$1" in
		1|2) PS1="${PS1}:${pwd}\w${null}${git_cmd}\$" ;;
		3)   PS1="${PS1}\$";;
	esac
	case "$1" in
		1)   PS1="${PS1} " ;;
		2|3) PS1="${PS1}\n${prompt}|${null} " ;;
	esac

	# PS2
	case "$1" in
		1)   PS2="${prompt}>${null} " ;;
		2|3) PS2="${prompt}|${null} " ;;
	esac
	
	# If this is an xterm set the title to user@host:dir
	case "$TERM" in
	xterm*|rxvt*)
			PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1" ;;
	*)
	esac
}

À appeler sous cette forme :

source <fichier>
bsk_prompt <nb_de_lignes> [<couleurs>]

<nb_de_lignes> = 1, 2 ou 3
<couleurs> = rien, "clear" (les couleurs sont plus visibles sur fond clair) ou "bw" (noir et blanc).
« bsk_prompt 1 bw » donne le prompt classique.

  • Retour à la ligne même si la commande précédente n'en a pas mis un à la fin

  • Rectangle de couleur en ponction de la valeur de retour de la commande précédente :

    • vert : tout c'est bien passé

    • bleu : processus tué (kill, killall, …)

    • orange : le processus c'est terminé avec une erreur (grep n'a rien trouvé, …)

    • rouge : erreur système (erreur de segmentation, commande non trouvée,…)

  • username en couleur :

    • vert : utilisateur normal

    • rouge : root

    • orange : autre utilisateur système

  • Quand on est dans un dépôt git, affichage de la branche et de l'état (commit, push ou pull à faire, fichier non suivi)

#1 Re : -1 »  [Jeu] Vous êtes un dictionnaire.. » Le 14/03/2013, à 14:36

Bousky
Réponses : 784

Lapalissade : Première mesure de sécurité autour des clapiers. Malgré la lapalissade, le renard a réussi a attraper un de mes lapins.

Babosser

#2 Re : -1 »  [Jeu] Vous êtes un dictionnaire.. » Le 19/03/2013, à 22:22

Bousky
Réponses : 784
moko138 a écrit :

le double boob […] pas en vente sur amazone.

Joli tongue

Debianostropie : phobie des pommes électriques

bronchier

#3 Re : -1 »  [Jeu] Vous êtes un dictionnaire.. » Le 25/03/2013, à 18:53

Bousky
Réponses : 784

Une définition ?

#4 Re : -1 »  [Jeu] Vous êtes un dictionnaire.. » Le 25/03/2013, à 23:39

Bousky
Réponses : 784

L0L!!!!!! VoU p0Uvé RI1 CoNtR M01!!!!! Su1 Tr0 1 H4X0R Mdr!!!!!! TeSté S1 v0u v01é m0n 1P C 127.0.0.1 v0u Ar1Vré p4 A p4sé Mé 4 F1r0Uol!!!!!! n00bz!!!!!




→[]

#5 Re : -1 »  [Jeu] Vous êtes un dictionnaire.. » Le 07/04/2013, à 14:34

Bousky
Réponses : 784

Guiper : Pour un logiciel, bugger lors du changement d'année. Contraction de « gui » et « gripper », en référence à la tradition de s'embrasser sous le gui et d'attraper la crève pour le jour de l'an. Par extension, s'applique à tout bug lié à la date.
Notre logiciel n'a pas guipé pour l'an 2000 !
Unix va guiper le mardi 19 janvier 2038, à 04 heures 14 minutes et 08 secondes.

oupas

#6 Re : -1 »  [Jeu] Vous êtes un dictionnaire.. » Le 09/04/2013, à 18:34

Bousky
Réponses : 784
Curiosus a écrit :

L0L!!!!!! VoU p0Uvé RI1 CoNtR M01!!!!! Su1 Tr0 1 H4X0R Mdr!!!!!! TeSté S1 v0u v01é m0n 1P C 127.0.0.1 v0u Ar1Vré p4 A p4sé Mé 4 F1r0Uol!!!!!! n00bz!!!!!

Mais heu ! mad

Pas de traitement connu à ce jour , enfermement et isolement complet recommandé

Je confirme tongue

#7 Re : -1 »  [Jeu] Vous êtes un dictionnaire.. » Le 26/04/2013, à 17:55

Bousky
Réponses : 784

Digitinose
Grande agilité du nez.

Polypoplie

#8 Re : -1 »  [Jeu] Vous êtes un dictionnaire.. » Le 29/04/2013, à 10:07

Bousky
Réponses : 784

toutlabas : endroit dans lequel on refoule tous les évènement que l'on refuse de considérer. Voir : champ CELP.
« Il y a pleins d'enfants qui meurent de faim toutlabas », dit-elle en reprenant de la choucroute.
(Oui, je suis en plein H2G2.)

tortue-colis

#9 Re : -1 »  [Jeu] Vous êtes un dictionnaire.. » Le 27/05/2013, à 10:02

Bousky
Réponses : 784

pentacyclette : vélo muni de stabilisateurs et d'une roue de secours. Être la sixième roue de le pentacyclette.

ordinathorynque

#10 Re : -1 »  Ubuntu-fr: signaler des erreurs et aider à améliorer le site » Le 20/03/2013, à 18:44

Bousky
Réponses : 1282
sucarno a écrit :

J'ai vu que Na Kraion a pu modifier le titre d'un topic pour ne plus le voir dans ces "mes messages".
J'aimerai bien que ça soit généralisé pour tous le monde.

Tu parles du topic « Sexisme et société » ?
Il a fermé le topic (privilège de modo, celui-ci était de toute façon assez long) et en a créé un nouveau dans lequel il n'a pas posté.

#11 Re : -1 »  Mème le life (images < 301×301 s'il vous plaît) » Le 29/03/2013, à 18:47

Bousky
Réponses : 1086
Ras' a écrit :

Fait maison, comprenne qui pourra...

tongue

#12 Re : -1 »  Mème le life (images < 301×301 s'il vous plaît) » Le 11/04/2013, à 22:38

Bousky
Réponses : 1086
playmobill a écrit :

Mon fils de 3 ans a fait son premier ragecomics hier : j'ai eu le droit à un joli pokerface. Dommage j'ai pas eu le temps de prendre une photo.

« Mon fils, tu seras un geek ! »

#13 Re : -1 »  Mème le life (images < 301×301 s'il vous plaît) » Le 30/04/2013, à 13:53

Bousky
Réponses : 1086
playmobill a écrit :
Ras' a écrit :

j'n'ai que 27 ans

C'est déjà un certain âge

C'est aussi un age certain.

#14 Re : -1 »  [Résolu] Comment modifier un fichier en bash par un script ".sh"? » Le 23/04/2013, à 10:02

Bousky
Réponses : 29

Une manière de modifier sudoers en vérifiant la syntaxe :

./modif_sudoers.sh /etc/sudoers /etc/sudoers.tmp
if visudo -csf /etc/sudoers.tmp ; then
        mv -f /etc/sudoers.tmp /etc/sudoers
fi

Mais pour les tests, mieux vaut faire ça sur un fichier à part…

#15 Re : -1 »  DuckDuckGo » Le 15/03/2013, à 18:37

Bousky
Réponses : 63
billou a écrit :

Juste une question, déjà que sur google, depuis que la recherche sur le web en Français est désactivée par défaut, ça me gonfle à mort, y'a pas moyen de configurer ça sur DDG ?

Il est aussi possible d'ajouter « r:fr » (ou un autre code de pays) à une requête.

#16 Re : -1 »  DuckDuckGo » Le 11/05/2013, à 10:16

Bousky
Réponses : 63
faucon50 a écrit :

@ buzz1824: Dans ddg y'a qu'a mettre g! devant les mots clef et il passe à google en https.

« !gfr » pour google en français.

#17 Re : -1 »  Macro » Le 10/05/2013, à 21:38

Bousky
Réponses : 9
Vysserk3 a écrit :

Regarde du côté de xdotool wink

Avec wmctrl pour gérer les fenêtres.

Par contre pour « enregistrer » les macro il faut faire des scripts à la mimine.

#18 Re : -1 »  Macro » Le 13/05/2013, à 23:06

Bousky
Réponses : 9

C'est un script shell, donc tu peux le lancer en ligne de commande sous la forme « ./script.sh » ou « chemin/script.sh » ou créer un lanceur sur le bureau ou dans le dock qui lance la commande « /chemin/absolu/script.sh ».

#19 Re : -1 »  Variable $ps1 » Le 10/05/2013, à 21:35

Bousky
Réponses : 6
SpleenX a écrit :

Le seul soucis que tu va avoir uboops c'est quand tu va faire une auto-complétion dans le terminal.
Puisque dès le début d'une commande ça va supprimer "\h" et mettre que "@pc0". Je ne pourrai pas te l'expliquer (si qqun sait pourquoi...)
J'ai repris ton idée pour faire

    PROMPT_COLOR=`RET=$(whoami); if [[ $RET = "compte_utilisateur_a_renseigner" ]]; then echo -ne "\033[0;32m$RET\033[0m"; else echo -ne "\033[0;31m$RET\033[0m"; fi; echo -n ""`
    PS1='${debian_chroot:+($debian_chroot)}'$PROMPT_COLOR'@\h:\w\$ '

En fait "PROMPT_COMMAND" n'est exécuté que quand une commande se termine et revient au prompt. Il est possible de mettre des commandes directement dans le prompt avec « $(...) » :

PS1='${debian_chroot:+($debian_chroot)}\[\e[0;3$(if [ `id -u` -eq 0 ] ; then echo 1 ; else echo 3 ; fi)m\]\h\[\e[0m\]@\h:\w\$ '

#20 Re : -1 »  Install : ext3 ou ext4 ? » Le 22/04/2013, à 13:49

Bousky
Réponses : 4
BrunoL a écrit :

il n'existe pas d'outils pour faire un resize de partition ext4.

Gparted sait très bien le faire depuis plusieurs années.

#21 Re : -1 »  [Résolu] Comment modifier les couleurs du prompt via un fichier .sh ? » Le 23/04/2013, à 10:13

Bousky
Réponses : 3

Petite remarque : tu mets bien « \[ » avant les séquences d'échappement dans le prompt, mais il faut aussi mettre « \] » après :

export PS1="\[\033[01;31m\]\u@\h:\w\$ "
                         ^^

PS1 ne sert qu'à l'invite de commande, ne la modifie pas pour autre chose. Si tu veux colorier ce que renvoie un script, utilise echo comme ça pour bash :

echo -e "\E[31mTexte en rouge\E[0m"

et comme ça pour sh :

echo "\033[31mTexte en rouge\033[0m"

#22 Re : -1 »  [Résolu] Flash rame. » Le 23/04/2013, à 10:21

Bousky
Réponses : 6

Tu utilise le flash de Adobe ? Tu peux le mettre à jour en (ré)installant le paquet « flashplugin-installer ».
Sinon tu peux passer par chrome.

#23 Re : -1 »  Recherche d'une imprimante scanner compatible J'EN PEUX PLUS !!! » Le 05/04/2013, à 12:54

Bousky
Réponses : 9

Je ne connais pas les Lexmark, mais si tu veux changer d'imprimante, tu peux regarder du côté de HP.