Создание и изменение файла с параметрами из правил

Помогите пожалуйста написать правило - если нету файла, создать его и записать параметры в формате:
property.name: value
property.name2: value

Задача делится на две:

  • определние наличия файла, реализуется вызовом bash для проверки наличия как самый простой способ, например: Скрипт для пингования хоста То есть вызываем проверку средствами bash и получаем просто ее результат.
  • Добавление строк в файл - точно так же, в цикле пока есть значения вызывать echo [property.name:] [value] >>[ПолныйПутькФайлу]

Здравствуйте!
Как простой пример для понимания и иллюстрации (без цикла, передачи параметров в функцию):

log("Script started");
        
var property = "My_property";
var name1 = "My_name1";
var name2 = "My_name2";
var value = "34";
var commandString;

function write_params() {
    //проверяем наличие файла
    runShellCommand("test -f /root/my_file.test", {
        captureOutput: true,
        exitCallback: function (exitCode, capturedOutput) {
            if (exitCode === 0) {
                //если файл существует - ничего не делаем
                log("file exists: nothing to do");
            } else {
                //если файл не существует - создаем файл и записываем параметры
                log("file does not exist");

                commandString = "echo " + property + "." + name1 + ":" + value + ">>" + "/root/my_file.test"; //Формируем строку команды для добавления в файл
                log(commandString); //вывод строки в лог для контроля
                runShellCommand(commandString); //добавляем строку в файл команой bash

                commandString = "echo " + property + "." + name2 + ":" + value + ">>" + "/root/my_file.test"; //Формируем строку команды для добавления в файл
                log(commandString); //вывод строки в лог для контроля
                runShellCommand(commandString); //добавляем строку в файл команой bash
            }
        },
    });
}

write_params();


1 лайк

Спасибо. Использовал cat >, файл создается если его нет.