plein de raccourcis pour bash, crédit : Benoît BALON (posteet)
1 tab <---> auto complétion pour les fichiers et les dossiers
2 ^[chaîne 1]^[chaîne 2]^ <---> lance la dernière commande en remplaçant la chaîne 1 par la chaîne 2
3 !-[n] <---> rappelle la commande lancée il y a n commandes
4 !! <---> lance la dernière commande
5 !?[chaîne] <---> lance la dernière commande terminant par la chaîne de caractères
6 !?[chaîne]? <---> lance la dernière commande contenant la chaîne de caractères
7 ![chaîne] <---> lance la dernière commande commençant par la chaîne de caractères
8 ![n°] <---> rappelle la commande n°... de l'historique
9 !# <---> lance la plus ancienne commande de l'historique
10 [commande] !^ <---> lance la commande avec le premier argument de la commande précédente
11 [commande] !:[n]-[m] <---> lance la commande avec les arguments n à m de la commande précédente
12 [commande] !:[n°] <---> lance la commande avec l'argument n°... de la commande précédente
13 [commande] !$ <---> lance la commande avec le dernier argument de la commande précédente
14 Alt + . <---> colle le dernier mot de la ligne précédente
15 Alt + b <---> déplace le curseur d'un mot vers la gauche
16 Alt + c <---> met en majuscule la lettre courante, en minuscules les autres lettres du mot courant, puis se place au mot suivant
17 Alt + d <---> efface le mot suivant
18 Alt + f <---> déplace le curseur d'un mot vers la droite
19 Alt + t <---> échange le mot courant et le mot précédent
20 Ctrl + _ <---> Annuler les dernières modifications (rester appuyé)
21 Ctrl + a <---> déplace le curseur en début de ligne
22 Ctrl + c <---> envoie le signal SIGINT au processus en cours
23 Ctrl + d <---> efface le caractère courant, ou déconnecte (logout) si la ligne est déjà vide
24 Ctrl + e <---> déplace le curseur en fin de ligne
25 Ctrl + h <---> efface le dernier caractère
26 Ctrl + k <---> coupe tout à droite du curseur
27 Ctrl + l <---> efface l'écran (commande clear)
28 Ctrl + n <---> commande suivante (équivalent à la touche flèche bas)
29 Ctrl + o <---> exécute la commande (touche entrée)
30 Ctrl + p <---> commande précédente (équivalent à la touche flèche haut)
31 Ctrl + q <---> fait apparaître la saisie / relance l'affichage
32 Ctrl + r <---> recherche dans l'historique (Ctrl + r pour remonter à la chaîne précédente)
33 Ctrl + s <---> masque la saisie / arrête l'affichage (touche pause)
34 Ctrl + t <---> permet d'inverser deux lettres
35 Ctrl + u <---> coupe tout à gauche du curseur
36 Ctrl + w <---> coupe le mot à gauche du curseur
37 Ctrl + y <---> colle ce qui a été effacé à gauche du curseur (suite à un Ctrl + u)
38 Ctrl + z <---> passe le processus en cours en arrière plan
39 Echap, 10, A <---> répète 10 fois le caractère A
40 Echap, 5, Ctrl + q, Ctrl + v, 9 <---> répète 5 fois le chiffre 9
Cette méthode étant extraite d'une classe, j'ai transféré les attributs nécessaires dans les paramètres. Attention, l'algo ne tient pas compte des avaries dans le calendrier grégorien à l'époque où l'on a rattrapé le retard lors de la mise en place des années bissextiles (1582 en France de mémoire, différent dans d'autres pays).
1 /*
2 (MIT-like License)
3
4 Copyright (c) 2007 Jonathan ILIAS
5
6 Permission is hereby granted, free of charge, to any person obtaining a copy
7 of this software and associated documentation files (the "Software"), to deal
8 in the Software without restriction, including without limitation the rights
9 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 copies of the Software, and to permit persons to whom the Software is
11 furnished to do so, subject to the following conditions:
12
13 The above copyright notice and this permission notice shall be included in
14 all copies or substantial portions of the Software.
15
16 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 THE SOFTWARE.
23 */
24 public int get_jour_semaine (int jour, int mois, int annee)
25 {
26 int l_mois;
27 int l_annee;
28 int s;
29 int js;
30 double jd;
31
32 l_mois = mois;
33 l_annee = annee;
34
35
36 if (l_mois < 3)
37 {
38 l_annee--;
39 l_mois += 12;
40 }
41 s = l_annee / 100;
42 jd = 1720996.5 - s + s / 4 + (int)(365.25*l_annee) +
43 + (int)(30.6001*(l_mois+1)) + jour;
44 jd -= (int)(jd / 7) * 7;
45 js = (int)(jd) % 7;
46
47 return (js + 1) % 7;
48 }
le fichier /tmp/picture_bg contient l'historique des fonds d'écrans utilisés.
1 #! /bin/bash
2
3 # can be : none wallpaper stretched scaled centered
4 picture_options="scaled"
5
6 bgpath="${1:-/home/mobidyc/perso/artgallery/desktop/}"
7 num="0"
8 total_pix="0"
9 pix_tmp="${2:-/tmp/rotate_background_gnome.tmp}"
10
11 find $bgpath ! -type d > ${pix_tmp}
12 if [[ "$?" != "0" ]]
13 then
14 echo "$(basename) - find est tombe en erreur"
15 exit 1
16 fi
17
18 total_pix="$(wc -l ${pix_tmp} | awk '{print $1}')"
19 if [[ "$?" != "0" ]]
20 then
21 echo "$(basename) - wc est tombe en erreur"
22 exit 1
23 fi
24
25 let rand_pic="${RANDOM}%${total_pix}"
26
27 while read picture_bg
28 do
29 num="$((${num}+1))"
30 if [[ "${num}" = "${rand_pic}" ]]
31 then
32 /usr/X11R6/bin/gconftool-2 --type string --set /desktop/gnome/background/picture_filename "${picture_bg}"
33 test "$?" = "0" && {
34 echo "$(date): ${picture_bg}" >> /tmp/picture_bg
35 }
36 /usr/X11R6/bin/gconftool-2 --type string --set /desktop/gnome/background/picture_options "${picture_options}"
37 fi
38 done <${pix_tmp}
39
40 rm $pix_tmp
41
42 exit 0
Pages : 1