Quelques Commandes Et Fonctions Shell
10 March 2012
Comme il m’arrive fréquemment d’écrire quelques scripts shell, je créé cette page pour y rassembler les fonctions que j’utilise souvent et pour pouvoir les retrouver facilement.
Messages
Neutre
# @params neutral message
show_neutral_message(){
echo -e "\033[0;36;40m$@\033[0m"
}
Information
# @params information message
show_information_message(){
echo -e "\033[7;32;40m$@\033[0m"
}
Erreur
# @params error message
show_error_message(){
echo -e "\033[7;31;47m$@\033[0m"
}
Manipulation de date
Obtenir la date du jour sous forme de chaîne
TODAY=$(date +%Y%m%d) # La date du jour, au format YYYYMMDD
Voyager dans le temps
FILE_DATE=$(date --date="1 day ago" +%Y%m%d)
Des splits
Couper une chaîne
file=$(echo $line | cut -d";" -f1)
target=$(echo $line | cut -d";" -f2)
Informations sur l’utilisateur
Vérifier que l’utilisateur en cours est root
if [ "$USER" != "root" ]
then
echo "Vous devez lancer cette commande en root"
exit 0
fi
Manipulation de fichiers
Synchronisation
function sync()
{
echo "Copie de $1 vers $2"
rsync -r --update -t -l $1 /media/xavier_160/save/$2
}
sync /var/www/ www/
sync /media/Data/dossier_personnel/ dossier_personnel/
sync /media/Data/docs/ docs/
Backup de site web
alias xmichel_save='lftp ftp://user:pass@domaine.info -e "mirror -e / /var/www/microdev/nx/xavier/ ; quit"'
Calculs
total_sec=$((hour*60*60 + mins*60 + secs))
# ou
finalheight=$(expr $finalwidth \* $height / $width)
function addnums {
TOTAL=0
while read val; do
TOTAL=$(($TOTAL+$val))
done
echo $TOTAL
}
# exemple d'utilisation
ll | awk '{if ($5=="") print 0 ; else print $5}' | addnums
Android
sudo /home/xavier/bin/android/platform-tools/adb kill-server && sudo /home/xavier/bin/android/platform-tools/adb devices
Système
Changement d’adresse mac
sudo ifconfig eth0 hw ether 00:00:00:00:00:00
blog comments powered by Disqus