Cours:BashScript : Différence entre versions

De troyesGEII
Aller à : navigation, rechercher
Ligne 73 : Ligne 73 :
  
 
la commande suivante permet d'obtenir l'espace utilisé (en %) de la partition montée sur le dossier /home :
 
la commande suivante permet d'obtenir l'espace utilisé (en %) de la partition montée sur le dossier /home :
  df /home |grep dev |tr -s ' ' |cut -d ' ' -f 9
+
  df /home |grep "dev" |tr -s ' ' |cut -d ' ' -f 5|sed 's/%//'
 +
 
 +
Il s'agit en fait de l'exécution successives (pipes) des commandes :
 +
*df : informations sur l'espace utilisé/libre des partitions
 +
*grep : conserver les lignes contenant un mot particulier ( ici dev )
 +
*tr : utilisée ici pour supprimer les espaces multiples
 +
*cut : permet de scinder une ligne en indiquant le délimiteur => ici on coupe au caractère espace et on conserve le 5ème champ
 +
*sed : supprimer/remplacer des caractères => supprimer le caractère %
  
 
https://www.ionos.fr/digitalguide/serveur/configuration/pipes-linux/
 
https://www.ionos.fr/digitalguide/serveur/configuration/pipes-linux/

Version du 22 novembre 2023 à 11:50

Ressources



script pour homeAssistant avec broker mqtt

HA mqtt sensor

/usr/local/bin/createHaSensor
#!/bin/bash

echo "name : $1"
echo "device class : $2"
echo "unit : $3"

topic="homeassistant/sensor/$1/config"
payload="{\"name\": \"$1\", \
          \"unique_id\": \"$1\", \
          \"state_topic\": \"homeassistant/sensor/$1/state\", \
          \"device_class\":\"$2\", \
          \"unit_of_measurement\":\"$3\" \
         }"

mosquitto_pub -t "$topic" -m "$payload" -h 192.168.0.7
/usr/local/bin/deleteHaSensor :
#!/bin/bash

echo "name : $1"
echo "device class : $2"
echo "unit : $3"

topic="homeassistant/sensor/$1/config"

mosquitto_pub -t "$topic" -m "" -h 192.168.0.7
/usr/local/bin/publishHaSensor :
#!/bin/bash

echo "name : $1"
echo "valeur : $2"

topic="homeassistant/sensor/$1/state"
payload="{\"name\": \"$1\", \
          \"unique_id\": \"$1\", \
          \"state_topic\": \"homeassistant/sensor/$1/state\", \
          \"device_class\":\"$2\", \
          \"unit_of_measurement\":\"$4\" \
         }"


mosquitto_pub -t "$topic" -m "$2" -h 192.168.0.7

Exemples :

  • createHaSensor testCreate battery %

publier l'espace utilisé d'une partition

la commande suivante permet d'obtenir l'espace utilisé (en %) de la partition montée sur le dossier /home :

df /home |grep "dev" |tr -s ' ' |cut -d ' ' -f 5|sed 's/%//'

Il s'agit en fait de l'exécution successives (pipes) des commandes :

  • df : informations sur l'espace utilisé/libre des partitions
  • grep : conserver les lignes contenant un mot particulier ( ici dev )
  • tr : utilisée ici pour supprimer les espaces multiples
  • cut : permet de scinder une ligne en indiquant le délimiteur => ici on coupe au caractère espace et on conserve le 5ème champ
  • sed : supprimer/remplacer des caractères => supprimer le caractère %

https://www.ionos.fr/digitalguide/serveur/configuration/pipes-linux/