Also habe ich die einfachste Möglichkeit, Dateien lesen zu verwenden Conf für bash
Skripte ist source
zu verwenden, solche Dateien zu laden. Was nun, wenn ich diese Datei bearbeiten möchte?Wie kann ich eine .conf-Datei einfach bearbeiten?
Einige Code, den ich gefunden haben einen wirklich guten Job:
function set_config(){
sed -i "s/^\($1\s*=\s*\).*\$/\1$2/" $conf_file
}
Aber, wenn der Variable noch nicht definiert ist, es ist es nicht definieren, noch nicht überprüft, ob die Parameter gut übergeben werden, isn ‚t sichern, behandelt nicht die Standardwerte etc ...
hat zuverlässige Werkzeuge/Code existiert bereits conf-Datei, die key =‚Wert‘-Paare enthalten bearbeiten? Zum Beispiel würde Ich mag Dinge tun können, wie folgt aus:
$conf_file="my_script.conf"
conf_load $conf_file #should create the file if it doesn't exist !
read=$(conf_get_value "data" "default_value") #should read the value with key "data", defaulting to "default_value"
if [[ $? = 0 ]] #we should be able to know if the read was successful
then
echo "Successfully read value for field \"data\" : $read"
else
echo "Default value for field \"data\" : $read"
fi
conf_set "something_new" "a great value!" #should add the key "something_new" as it doesn't exist
conf_set "data" "new_value" #should edit the value with key "data"
if [[ $? = 0 ]]
then
echo "Edit successful !"
else #something went wrong :-/
echo "Edit failed !"
fi
vor diesem Code ausgeführt wird, würde die conf-Datei
data="some_value"
enthalten würde und nach
data="new_value"
something_new="a great value!"
seinen
und der Code sollte ausgegeben werden
Ich benutze bash
Version 4.3.30. Danke für Ihre Hilfe.
Können Sie uns ein paar Beispiele vor und nach den Daten geben? –
@ Mr.Llama Redigierte die Frage, um es klarer zu machen – Magix