====== Quelques scripts (f)utiles ====== * Objet : liste en vrac de scripts plus ou moins utiles ... donc indispensables :D * Niveau requis : {{tag>débutant avisé}} * Commentaires : //page à piller. // * Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) Les scripts sont des fichiers texte rédigés dans différents langages ([[doc:programmation:bash|bash]], python, perl, ruby...) et qui envoient des commandes à votre système.\\ l'intérêt majeur du script est de regrouper en un appel, une série de commandes et ainsi, d'effectuer des tâches complexes simplement.\\ \\ Pour être actif, un script doit être **exécutable** ([[doc:systeme:chmod|chmod]] +x) ===== chrono xxs ===== un chrnomêtre graphique rudimentaire mais efficace ;) [[https://handylinux.org/forum/viewtopic.php?pid=33532#p33532|sources by thuban]]\\ #!/bin/sh # WAIT=`zenity --entry --title="Timer" \ --text="Temps de l'activité? (ex: 10m)"` if [ -n "$(echo $WAIT | grep -o 'm')" ]; then # minutes FACT=60 WAIT=$(echo $WAIT | sed 's;m;;') elif [ -n "$(echo $WAIT | grep -o 'h')" ]; then # heures WAIT=$(echo $WAIT | sed 's;h;;') FACT=3600 else # secondes WAIT=$(echo $WAIT | sed 's;s;;') FACT=1 fi WAIT=$(echo $(expr $WAIT \* $FACT)) echo $WAIT i=0 ( echo "#$WAIT secondes restantes" while [ "$i" -lt "$WAIT" ]; do sleep 1 i=$(expr $i + 1) PERC=$(expr $i \* 100 / $WAIT ) echo "$PERC" echo "#$(expr $WAIT - $i) secondes restantes" done ) | zenity --progress \ --percentage=0 \ --title="Compte à rebours" \ --auto-kill aplay ~/.scripts/harp.wav zenity --info --title="Timer" --text="C'est fini!" exit 0 ===== cclm ===== script de coloration des logs #!/bin/sh # colored var/log/messages in tty12 # usage: in /etc/inittab # c12:123456:respawn:/sbin/agetty -n -l /usr/local/bin/cclm 38400 tty12 linux file=/var/log/messages tail -f $file | ccze -A ===== cli radio ===== écouter la radio depuis la console avec mplayer #!/bin/bash ######################################################## # cli_radio # # based on IceFox radio-select script # # # ######################################################## # set colors RED='\e[41m' BLUE='\e[44m' CYAN='\e[46m' NC='\e[0m' # set player PLAYER="/usr/bin/mplayer" # verify if $PLAYER is installed if [ -e $PLAYER ]; then # stop current $PLAYER session if [ "$(pidof mplayer)" ]; then killall mplayer fi while true; do clear echo "" echo " ·····················································" echo " · select a station and play ·" echo " · ·" echo -e " · $CYAN[space]$NC to pause, $CYAN[q]$NC to stop, $CYAN[Ctrl]+[c]$NC to quit ·" echo " ·····················································" echo "" echo " ·····················································" echo -e " · $BLUE 1 $NC Addict Alternative $BLUE 2 $NC Addict Lounge ·" echo -e " · $BLUE 3 $NC Addict Rock $BLUE 4 $NC Addict Star ·" echo -e " · $BLUE 5 $NC Best-Hits $BLUE 6 $NC Best-Dance ·" echo -e " · $BLUE 7 $NC BFM $BLUE 8 $NC Contact FM ·" echo -e " · $BLUE 9 $NC FG DJ Radio $BLUE 10 $NC FG Underground ·" echo -e " · $BLUE 11 $NC FG Vintage $BLUE 12 $NC Fréquence Jazz ·" echo -e " · $BLUE 13 $NC Fun Radio $BLUE 14 $NC NRJ ·" echo -e " · $BLUE 15 $NC Radio Gerard $BLUE 16 $NC Radio Nova ·" echo -e " · $BLUE 17 $NC RTL $BLUE 18 $NC RTL2 ·" echo -e " · $BLUE 19 $NC FIP $BLUE 20 $NC custom link... ·" echo " ·····················································" echo "" echo -e " select a $BLUE number $NC from 1 to 20 then hit $CYAN[Enter]$NC" echo "" read choix case $choix in 1) $PLAYER http://stream1.addictradio.net/addictalternative.mp3 ;; 2) $PLAYER http://stream1.addictradio.net/addictlounge.mp3 ;; 3) $PLAYER http://stream1.addictradio.net/addictrock.mp3 ;; 4) $PLAYER http://stream1.addictradio.net/addictstar.mp3 ;; 5) $PLAYER http://sv1.vestaradio.com:9500 ;; 6) $PLAYER http://sv1.vestaradio.com:7420 ;; 7) $PLAYER http://vipicecast.yacast.net/bfm ;; 8) $PLAYER http://broadcast.infomaniak.ch/radio-contact-high.mp3 ;; 9) $PLAYER http://fg.impek.tv/listen.pls ;; 10) $PLAYER http://ufg.impek.tv/listen.pls ;; 11) $PLAYER http://fgv.impek.tv/listen.pls ;; 12) $PLAYER http://broadcast.infomaniak.ch/frequencejazz-high.mp3 ;; 13) $PLAYER http://streaming.radio.funradio.fr:80/fun-1-44-128 ;; 14) $PLAYER http://mp3.live.tv-radio.com/nrj/all/nrj_113225.mp3 ;; 15) $PLAYER http://www.mistercouzin.net:8000/listen.pls ;; 16) $PLAYER http://broadcast.infomaniak.net/radionova-high.mp3 ;; 17) $PLAYER http://streaming.radio.rtl.fr/rtl-1-44-96 ;; 18) $PLAYER http://streaming.radio.rtl2.fr:80/rtl2-1-44-96 ;; 19) $PLAYER http://www.tv-radio.com/station/fip_mp3/fip_mp3-128k.m3u ;; 20) echo "" echo "put your custom link here" echo "" read customlink $PLAYER $customlink ;; *) echo -e "$RED wrong choice $NC" echo "try again..." echo "" sleep 2 clear ;; esac done else echo " this script need mplayer" echo " install it or change the PLAYER" echo "exiting ..." exit 0 fi ===== gui radio ===== choisir sa station de radio avec zenity #!/bin/bash ########################################################## ## radio ## ########################################################## ##### IceF0x #### ########################################################## ############### Script sous licence WTFPL ############### ########################################################## #Description du programme zenity --info \ --title="radio" \ --text="EasyRadio v1.0" \ --timeout="10" #Choix du type d'utilisation choixType=$(zenity --list \ --radiolist \ --title="Selectionner votre radio" \ --text="Choisissez dans la liste" \ --print-column="ALL" \ --column="Choix" \ --column="starion" \ TRUE "4U Radios - All Funky Classics" \ FALSE "Addict Alternative" \ FALSE "Choisir un fichier"); #On verifie qu'il a bien valider case $? in 0) #On lance les radio selon le choix de l'utilisateur if [ "$choixType" = "4U Radios - All Funky Classics" ] then mplayer http://www.4uradios.com/funkyclassics.asx elif [ "$choixType" = "Addict Alternative" ] then mplayer http://stream1.addictradio.net/addictalternative.mp3 elif [ "$choixType" = "Choisir un fichier" ] then #On choisit la radio fileradio=$(zenity --file-selection \ --title="choisissez un fichier m3u ? ! utiliser uniquement un format m3u"); mplayer $fileradio fi sleep 10; exit;; 1) echo "Annulation"; exit;; -1) exit;; esac ===== crypt.sh ===== simple script de cryptage basic #!/bin/bash # crypt.sh # source: coyotus@2012 http://www.linuxtrack.com/t660-crypt-sh.htm echo "choisissez crypt pour créer le message ou decrypt pour décrypter le message" read choix if test $choix == 'crypt' then read message echo $message | sed -e "y/abcdefghijklmnopqrstuvwxyz/azertyuiopqsdfghjklmwxcvbn/" elif test $choix == 'decrypt' then read message echo $message | sed -e "y/azertyuiopqsdfghjklmwxcvbn/abcdefghijklmnopqrstuvwxyz/" else echo "quit" fi ===== devart.sh ===== script de récuprétion du nombre de messages sur deviantart.com #!/bin/bash # devart.sh par wlourf 15/02/2011. # script permettant de récupérer le nombre de messages sur son compte deviantArt # lancer le script sans paramètres pour plus d'infos # Dépend de curl # usage devart ${texeci 600 ~/bin/devart.sh 1 messages} message(s) / ${texeci 600 ~/bin/devart.sh 0 feedbacks} feedbacks #paramètres à renseigner (******* MASQUER LE MOT DE PASSE !!******) : username="******" password="******" cookie="/tmp/cookie-da.txt" page="/tmp/da-page.html" #fin des paramètres #rm $cookie #rm $page if [[ $# < 1 ]]; then echo "Ce script necessite au moins un paramètre : " echo " 1 pour recharger la page de deviantArt" echo " 0 pour traiter le fichier en mémoire" echo echo "Deuxième paramètre optionnel :" echo " notices, messages, feedbacks ou notes" echo " si aucun choisi, le script affiche les 4 valeurs ci-dessus" exit 1 fi if [[ "$1" == "1" ]]; then curl -k -c "$cookie" -d "username=$username&password=$password" https://www.deviantart.com/users/login curl -k -b "$cookie" -s http://my.deviantart.com/messages/ > "$page" fi function get_nb() { echo `cat $page | grep "View All Messages" | awk -F'i'$1'">' '{print $2}' | awk -F' ===== dmenu-google ===== lancer une recherche google depuis dmenu avec votre navigateur par défaut #!/bin/bash entry=`echo "... and search the web" | dmenu -b -fn "snap" -nb "#222222" -nf "#7D7D7D" -sb "#7D7D7D" -sf "#222222" -p "type a word..."` if test "X$entry" != "X"; then x-www-browser http://www.google.com/search?q="$entry" fi ===== dmenu-searx ===== lancer une recherche searx depuis dmenu avec surf #!/bin/bash entry=`echo "... powered by searx" | dmenu -b -fn "snap" -nb "#090909" -nf "#A0A0A0" -sb "#320000" -sf "#DEDEDE" -p "type a word then start searching..."` if test "X$entry" != "X"; then surf https://searx.laquadrature.net/?q="$entry" fi ===== dmenu-home ===== naviguer/ouvrir/éditer les dossiers/fichiers utilisateur depuis dmenu #!/bin/bash loc=`ls -A $HOME | dmenu -b -fn "snap" -nb '#222222' -nf '#7D7D7D' -sb '#7D7D7D' -sf '#222222' -p 'goto/open/edit: '` && eval "rox $loc" ===== todo-dmenu ===== todolist simple avec dmenu #!/bin/sh ## script pour gérer les différentes tâches à faire avec dmenu. ## sources: # variables utilisées pour dmenu SB="#7D7D7D" SF="#222222" NB="#222222" NF="#7D7D7D" FN="-*-fixed-*-*-*-*-10-70-*-*-*-*-*-*" FILE=~/.todo SCRIPT=~/bin/dmenu-todo.sh HEIGHT=$(cat $FILE | wc -l) PROMPT="write:add | select:del > " ACTION="cat $FILE | dmenu -fn $FN -l '$HEIGHT' -nb '$NB' -nf '$NF' -sb '$SB' -sf '$SF' -p '$PROMPT:' " CMD=$(eval $ACTION) while [ -n "$CMD" ]; do grep -q "^$CMD" $FILE if [ $? = 0 ]; then grep -v "^$CMD" $FILE > /tmp/todo mv /tmp/todo $FILE else echo "$CMD" >> $FILE exec $SCRIPT && exit 7 fi CMD=$(eval $ACTION) done exit 0 ===== dualdetect ===== script basic pour le double-écran #!/bin/bash SCREENSTATE=`xrandr | grep VGA-0 | awk '{print $2}'` if [ "$SCREENSTATE" == "connected" ]; then xrandr --output VGA-0 --mode 1024x768 --pos 1024x0 --rotate normal --output LVDS --mode 1024x768 --pos 0x0 --rotate normal --output S-video --off --output DVI-0 --off else xrandr --output VGA-0 --off --output LVDS --mode 1024x768 --pos 0x0 --rotate normal --output S-video --off --output DVI-0 --off fi exit 0 ===== dzen-calendar ===== calendrier surgissant grâce à dzen2 #!/bin/bash # # pop-up calendar for dzen # (c) 2007, by Robert Maneaq # mods 2012, by arpinux TODAY=$(expr `date +'%d'` + 0) MONTH=`date +'%m'` YEAR=`date +'%Y'` (echo '^fg(grey)'`date +'%A, %d %b'`; \ echo ' day:'`date +'%j'`' - week:'`date +'%U'`; \ echo; cal | sed -re "s/(^|[ ])($TODAY)($|[ ])/\1^fg(red)\2^fg()^bg()\3/"; \ [ $MONTH -eq 12 ] && YEAR=`expr $YEAR + 1`; cal `expr \( $MONTH + 1 \) % 12` $YEAR; \ sleep 60) | dzen2 -fn '-*-terminus-*-*-*-*-12-*-*-*-*-*-iso10646-*' -x 890 -y 740 -h 14 -w 125 -l 18 -e 'onstart=uncollapse;button1=exit;button3=exit' ===== ip publique ===== obtenir son ip publique #!/bin/sh wget -q -O - checkip.dyndns.org | sed -e 's/[^[:digit:]\|.]//g' ===== kbd-select ===== sélecteur de clavier rudimentaire avec zenity #! /bin/bash # simple keyboard-selector # launch it from ~/.xinitrc ACTION=`zenity --width=0 --height=176 --list\ --title "SelectKbd" --text "select your keyboard"\ --column "language"\ "fr"\ "gb"\ "us"\ "de"` if [ -n "${ACTION}" ]; then case $ACTION in fr) setxkbmap fr ;; gb) setxkbmap gb ;; us) setxkbmap us ;; de) setxkbmap de ;; esac fi ===== météo ===== sources: Nanoseb sur le [[http://crunchbang-fr.org/forum/viewtopic.php?pid=35678#p35678|forum crunchbangfr]]\\ un tout petit script pour récupérer la météo en console qui utilise l'api d'[[http://openweathermap.org/|openwethermap]].\\ Les dépendances sont caca-utils (pour l'affichage graphique) et libxml2-utils (pour xmllint).\\ la ville est à mettre en paramètre (ou alors vous pouvez aussi modifier la ligne ville="$1") #!/bin/bash # # script météo # sources: Nanoseb # http://crunchbang-fr.org/forum/viewtopic.php?pid=35678#p35678 ############################################################### fichier="$HOME/.temps" ville=$(echo $* | sed 's/\ /\%20/g') apikey="c032679388a8e1cdf1a05b90ca396" wget -q -O "$fichier" "http://api.openweathermap.org/data/2.5/weather?q="$ville"&mode=xml&units=metric" temperature=$(xmllint --xpath "//current/temperature/@value" "$fichier" | awk -F"\"" '{print $2}') humidity=$(xmllint --xpath "//current/humidity/@value" "$fichier" | awk -F"\"" '{print $2}') pressure=$(xmllint --xpath "//current/pressure/@value" "$fichier" | awk -F"\"" '{print $2}') weather=$(xmllint --xpath "//current/weather/@value" "$fichier" | awk -F"\"" '{print $2}') weathericon=$(xmllint --xpath "//current/weather/@icon" "$fichier" | awk -F"\"" '{print $2}') lon=$(xmllint --xpath "//current/city/coord/@lon" "$fichier" | awk -F"\"" '{print $2}') lat=$(xmllint --xpath "//current/city/coord/@lat" "$fichier" | awk -F"\"" '{print $2}') city=$(xmllint --xpath "//current/city/@name" "$fichier" | awk -F"\"" '{print $2}') wget -q -O "$fichier" "http://api.worldweatheronline.com/free/v2/tz.ashx?key=$apikey&q=$lat,$lon&format=xml" localtime=$(xmllint --xpath "//data/time_zone/localtime" "$fichier" | sed 's/^<.*>\([^<].*\)<.*>$/\1/;s/-/\ /g' | awk '{print $4 " " $3 "/" $2 "/" $1}') wget -q -O "$fichier" "http://openweathermap.org/img/w/${weathericon}.png" echo "$city $localtime" echo img2txt -f utf8 -W 50 -x 7 -y 14 "$fichier" | sed '/^\ *$/d' echo echo "Température : $temperature°C Humidité : $humidity%" echo "Pression : $pressure hPa Temps : $weather" rm "$fichier" ===== mods ===== trouver les derniers fichiers modifiés #! /bin/bash # find in time # arpinux 2012 if [ "$2" = "" ]; then param=1 else param=$2 fi if [ "$1" == "-m" ]; then find /$PWD/ -mmin -$2 elif [ "$1" == "-d" ]; then find /$PWD/ -mtime -$2 else echo "find_in_time Usage:" echo "mods -m 'n' = modified in the last 'n' minutes" echo "mods -d 'n' = modified in the last 'n' days" fi ===== revert ===== script indispensable #!/bin/bash # useless revert script # sources: http://www.coyotus.com/viewtopic.php?id=1280 read message echo $message | sed -e "y/abcdefghijklmnopqrstuvwxyz,'/ɐqɔpǝɟƃɥıɾʞlɯuodbɹsʇnΛmxλz',/" | rev le même en GUI #!/bin/bash message=$(zenity --entry --text="Veuillez entrer votre texte à retourner :" --title="Texte à l'envers") list=$(echo $message | sed -e "y/abcdefghijklmnopqrstuvwxyz,'/ɐqɔpǝɟƃɥıɾʞlɯuodbɹsʇnΛmxλz',/" | rev) maj=$(date +%F) zenity --info \ --text "$list\n$maj" \ --title="Votre texte à l'envers" \ ===== scratchpad ===== un terminal en popup #!/bin/sh ############################################### # scratchpad.sh # a simle scratchpad script by c00kielon5ter # https://github.com/c00kiemon5ter/scripts ############################################### name="scratchpad" class="URxvt" # print the window id of the window with the given # instance name as the first argument '$1' and # class name as the second argument '$2' get_win_id() { xwininfo -root -children -int | awk -v n="$1" -v c="$2" 'NF < 5 { next } $(NF - 3) == "(\""n"\"" && $(NF - 2) == "\""c"\")" { print $1 }' } # get the window id winid="$(get_win_id "$name" "$class")" # if the window was not found if [ -z "$winid" ] then # spawn it urxvtc -name "$name" # get the window id again winid="$(get_win_id)" # if the window was not found then something is really wrong. give up. [ -z "$winid" ] && exit 1 fi # if the window is hidden show it, else hide it if ! xwininfo -id "$winid" | awk '$1 == "Map" && $2 == "State:" { exit ($3 == "IsUnMapped") }' then xdotool windowmap "$winid" else xdotool windowunmap "$winid" fi ===== screencast ===== enregistrer son écran depuis la console avec ffmpeg #!/bin/bash # record desktop with ffmpeg ffmpeg -r 30 -s 1024x768 -f x11grab -i :0.0 -vcodec msmpeg4v2 -qscale 2 desktop_record-`date +%Y%m%d`.avi ===== search the web ===== simple recherche internet lancée depuis une petite fenêtre zenity source : Photonucleon sur le [[http://crunchbanglinux-fr.org/forum/viewtopic.php?id=2431|forum crunchbanglinux]] #!/bin/bash ## google-script simple par photonucleon ## source : http://crunchbang.org/forums/viewtopic.php?id=29412 gsearch="`zenity --entry --title='Google' --text='Recherche:'`" if [ -z $gsearch ] then exit else x-www-browser "http://www.google.fr/search?q=$gsearch" fi exit ===== session-selector ===== sélecteur de session sans GDM/KDM pour gestionnaire de fenêtre indépendant #! /bin/bash # simple session-selector # launch it from ~/.xinitrc # delete/add a section to remove/add a session # -------------------------------------------- # set username # ------------ HUMAN=`w -h | tail -n1 | awk '{print $1}'` # configure dialog window # ----------------------- ACTION=`zenity --width=315 --height=335 --list\ --title "Select your Wm" --text "Welcome to Livarp_0.3.2 $HUMAN \n pick or edit a session -->>"\ --column "sessions" --column " what?"\ "wmfs" "window manager from scratch v2"\ "dwm" "the dynamic window manager reloaded"\ "echinus" "the easy tiling"\ "evilwm" "they sold their soul to X"\ "pekwm" "the only one"\ "fluxbox" "the famous one"\ "compiz" "standalone session (testing)"\ "" ""\ "edit" "configure startup scripts"\ "" ""\ "reboot" "restart your computer"\ "halt" "shutdown your computer"` # session launchers # ----------------- if [ -n "${ACTION}" ]; then case $ACTION in dwm) exec ck-launch-session $HOME/bin/start/dwm_start.sh ;; echinus) exec ck-launch-session $HOME/bin/start/echinus_start.sh ;; evilwm) exec ck-launch-session $HOME/bin/start/evil_start.sh ;; wmfs) exec ck-launch-session $HOME/bin/start/wmfs_start.sh ;; pekwm) exec ck-launch-session $HOME/bin/start/pekwm_start.sh ;; fluxbox) exec ck-launch-session $HOME/bin/start/fluxbox_start.sh ;; compiz) exec ck-launch-session $HOME/bin/start/compiz_start.sh ;; edit) geany -s $HOME/bin/start/*_start.sh session_selector.sh ;; reboot) sudo shutdown -r now ;; halt) sudo shutdown -h now ;; esac fi ===== shellshock-cheker ===== Script pour tester la présence de vulnérabilité bash CVE-2014-6271 et CVE-2014-7169 #!/bin/bash # Shellshock Vulnerability Tester Script # Original shellshock-cheker script (C) by coyotus # Under licence GPLv3 http://www.gnu.org/licenses/gpl.txt # optional required "zenity" echo ''' .__ .__ .__ .__ __ .__ __ _____| |__ ____ | | | | _____| |__ ____ ____ | | __ ____ | |__ ____ ____ | | __ ___________ / ___/ | \_/ __ \| | | | / ___/ | \ / _ \_/ ___\| |/ / ______ _/ ___\| | \_/ __ \_/ ___\| |/ // __ \_ __ \ \___ \| Y \ ___/| |_| |__\___ \| Y ( <_> ) \___| < /_____/ \ \___| Y \ ___/\ \___| <\ ___/| | \/ /____ >___| /\___ >____/____/____ >___| /\____/ \___ >__|_ \ \___ >___| /\___ >\___ >__|_ \\___ >__| \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ \/ ''' red='\e[0;31m' green='\e[0;32m' NC='\e[0m' if env x='() { :;}; echo vulnerable' bash -c "echo -n" | grep vulnerable > /dev/null 2>&1 ; then echo -e "[$red*$NC] Your system is$red vulnerable $NC" zenity --error --text "Your system is vulnerable Information" elif $(env x='() { (a)=>\' bash -c "echo echo vuln"; [[ "$(cat echo)" == "vuln" ]] && echo "Toujours vulnerable") | grep vulnerable ; then echo -e "[$red*$NC] Your system is$red vulnerable $NC" zenity --error --text "Your system is vulnerable Information" else echo -e "[$green*$NC] Your system is$green secure $NC" zenity --info --text "Your system is secure" fi ===== space-replace ===== remplacer " " par "_" #!/bin/bash #simple script to replace " " by "_" for i in *; do mv "$i" "`echo "$i" | tr \ _`" done ===== space-rename ===== alternative à space-replace par [[http://crunchbanglinux-fr.org/forum/viewtopic.php?id=1779|manon]] #!/bin/bash #simple script to replace " " by "_" #sources: manon exec rename 'y/ /_/ ' * ===== stats ===== affiche quelques info système #/bin/bash # stats.sh by n1x4 clear declare -rx BC="/usr/bin/bc" if test -f $HOME/.gtkrc-2.0;then GTK=$HOME/.gtkrc-2.0 else GTK=$HOME/.gtkrc-3.0 fi if test ! -x $BC; then echo -e "\e[0;5;31m$BC is not available, please install before continuing." exit 192 fi host=`cat /proc/sys/kernel/hostname` mem_total=`free -m | grep "Mem" | awk '{print $2}'` mem_used=`free -m | grep "buffers/" | awk '{print $3}'` hd_used=`df | grep "sda" | awk '{print $3}'` hd_total=`df | grep "sda" | awk '{print $2}'` type=`df -T | grep "sda" | awk '{print $2}'` idle=`cat /proc/uptime | awk '{print $2}'` kernel=`cat /proc/version | awk '{print $3}'` cpu=`cat /proc/cpuinfo | grep "model name" | awk '{print $4,$5,$6, $7}'` theme=`cat $GTK | grep "gtk-theme-name" | cut -d= -f2 | tr -d '"'` icon=`cat $GTK | grep "gtk-icon-theme-name" | cut -d= -f2 | tr -d '"'` font=`cat $GTK | grep "gtk-font-name" | cut -d= -f2 | tr -d '"'` function uptime() { uptime=$( ===== server mods ===== recevoir par mail les derniers fichiers modifiés sur un serveur #!/bin/bash # # # echo -e " _____ _ __ __ |_ _| ( ) \ \ / / | | _ __ __ _ _______ |/ ___ \ \ /\ / /_ _ _ _ | | | '_ \ / _' |_ / _ \ / __| \ \/ \/ / _' | | | | _| |_| | | | (_| |/ / (_) | \__ \ \ /\ / (_| | |_| | |_____|_| |_|\__,_/___\___/ |___/ \/ \/ \__,_|\__, | __/ | |___/ ---------------------------------------------------------- Programme de surveillance des fichiers PHP, HTML & JS v 1.0 contact : http://inazo.over-blog.com ---------------------------------------------------------- " # Adresse ou sera envoyer le rapport en question MailTo="test@myemail.com" # Sujet du rapport de l'email envoyé Subject="Rapport surveillance des fichiers PHP serveur mon_serveur" #On va chercher tous les fichiers PHP qui ont été modifié ce jour find /var/www/ -name -prune -o -regex '.*\.\(php\|html\|js\).*' -mtime 0 > ListeFichierModifier.txt mail -s "$Subject" "$MailTo" < ListeFichierModifier.txt rm ListeFichierModifier.txt ===== termcolors ===== afficher les couleurs du terminal #!/bin/bash # Original: http://frexx.de/xterm-256-notes/ # http://frexx.de/xterm-256-notes/data/colortable16.sh # Modified by Aaron Griffin # and further by Kazuo Teramoto FGNAMES=(' black ' ' red ' ' green ' ' yellow' ' blue ' 'magenta' ' cyan ' ' white ') BGNAMES=('DFT' 'BLK' 'RED' 'GRN' 'YEL' 'BLU' 'MAG' 'CYN' 'WHT') echo " ┌──────────────────────────────────────────────────────────────────────────┐" for b in {0..8}; do ((b>0)) && bg=$((b+39)) echo -en "\033[0m ${BGNAMES[b]} │ " for f in {0..7}; do echo -en "\033[${bg}m\033[$((f+30))m ${FGNAMES[f]} " done echo -en "\033[0m │" echo -en "\033[0m\n\033[0m │ " for f in {0..7}; do echo -en "\033[${bg}m\033[1;$((f+30))m ${FGNAMES[f]} " done echo -en "\033[0m │" echo -e "\033[0m" ((b<8)) && echo " ├──────────────────────────────────────────────────────────────────────────┤" done echo " └──────────────────────────────────────────────────────────────────────────┘" ===== termaliencolors ===== afficher les couleurs du terminal avec des aliens #!/bin/bash # # ANSI color scheme script featuring Space Invaders # # Original: http://crunchbanglinux.org/forums/post/126921/#p126921 # Modified by lolilolicon # f=3 b=4 for j in f b; do for i in {0..7}; do printf -v $j$i %b "\e[${!j}${i}m" done done bld=$'\e[1m' rst=$'\e[0m' cat << EOF $f1 ▀▄ ▄▀ $f2 ▄▄▄████▄▄▄ $f3 ▄██▄ $f4 ▀▄ ▄▀ $f5 ▄▄▄████▄▄▄ $f6 ▄██▄ $rst $f1 ▄█▀███▀█▄ $f2███▀▀██▀▀███ $f3▄█▀██▀█▄ $f4 ▄█▀███▀█▄ $f5███▀▀██▀▀███ $f6▄█▀██▀█▄$rst $f1█▀███████▀█ $f2▀▀███▀▀███▀▀ $f3▀█▀██▀█▀ $f4█▀███████▀█ $f5▀▀███▀▀███▀▀ $f6▀█▀██▀█▀$rst $f1▀ ▀▄▄ ▄▄▀ ▀ $f2 ▀█▄ ▀▀ ▄█▀ $f3▀▄ ▄▀ $f4▀ ▀▄▄ ▄▄▀ ▀ $f5 ▀█▄ ▀▀ ▄█▀ $f6▀▄ ▄▀$rst $bld$f1▄ ▀▄ ▄▀ ▄ $f2 ▄▄▄████▄▄▄ $f3 ▄██▄ $f4▄ ▀▄ ▄▀ ▄ $f5 ▄▄▄████▄▄▄ $f6 ▄██▄ $rst $bld$f1█▄█▀███▀█▄█ $f2███▀▀██▀▀███ $f3▄█▀██▀█▄ $f4█▄█▀███▀█▄█ $f5███▀▀██▀▀███ $f6▄█▀██▀█▄$rst $bld$f1▀█████████▀ $f2▀▀▀██▀▀██▀▀▀ $f3▀▀█▀▀█▀▀ $f4▀█████████▀ $f5▀▀▀██▀▀██▀▀▀ $f6▀▀█▀▀█▀▀$rst $bld$f1 ▄▀ ▀▄ $f2▄▄▀▀ ▀▀ ▀▀▄▄ $f3▄▀▄▀▀▄▀▄ $f4 ▄▀ ▀▄ $f5▄▄▀▀ ▀▀ ▀▀▄▄ $f6▄▀▄▀▀▄▀▄$rst $f7▌$rst $f7▌$rst $f7 ▄█▄ $rst $f7▄█████████▄$rst $f7▀▀▀▀▀▀▀▀▀▀▀$rst EOF ===== watch-inside ===== visionneur basic avec feh #!/bin/bash # image browser with feh # sources: https://bbs.archlinux.org/viewtopic.php?pid=884635#p884635 # Change the input field separator to avoid problems with spaces. IFS=' ' # Get the target file, its name, directory, and the other files in the directory. _fpath="${1/%\/}" _fname="$(basename "$_fpath")" _dpath="$(dirname "$_fpath")" _flist=($(ls "$_dpath")) # Determine the index of the target file in the file list array. _i=0 for _file in "${_flist[@]}"; do [ "$_file" == "$_fname" ] && break _i=$(($_i + 1)) done # Remove the target file from the arguments, leaving any eventual arguments to # feh. shift # Change to the directory and launch feh with the target file as the first # argument, and the rest of the files in their normal order. cd "$_dpath" feh -Z -g 600x600 -B black -q "$@" "${_flist[@]:$_i}" "${_flist[@]:0:$_i}" ===== xcomp-select ===== sélecteur d'effet pour xcompmgr #! /bin/bash # xcompmgr level selector # arpinux 2012 if [ "$1" == "-s" ]; then killall xcompmgr elif [ "$1" == "-l" ]; then killall xcompmgr sleep 1s xcompmgr -fF & elif [ "$1" == "-m" ]; then killall xcompmgr sleep 1s xcompmgr -CcfF -I20 -O10 -D1 -t-5 -l-5 -r4.2 -o.82 & elif [ "$1" == "-f" ]; then killall xcompmgr sleep 1s xcompmgr -CcfF -I-.015 -O-.03 -D6 -t-1 -l-3 -r4.2 -o.5 & else echo "xcompmgr_livarp Usage:" echo "-s = stop" echo "-l = light" echo "-m = medium" echo "-f = full" fi