Получите разницу между файлами fleetctl и локальными файлами

У меня есть файл в fleetctl, назовем его file@123.service И у меня есть локальный файл, назовем его file @.service

Я хочу проверить, отличаются ли они или нет. Если они различаются, я инициирую команды уничтожения и запуска, но я не могу найти способ различения между ними..

Я сделал встроенный скрипт:

check_diff ()
{
    # Check if local file is diff from fleetctl file "file@123.service"
    # file@123.service is currently active in the fleetctl
    # Looking for something like
      diff (fleetctl list-units | grep $1 | head -n 1 | awk '{print $1}') $1.service
}

# Get local file names and push them to the function
for unit in $(ls -l | awk '{print $9}' | grep -e \.service); do
  check_diff ${unit%.*} # Will result unit as "file@"
done

1 ответ

Решение:

Нашел решение

DIFF=$(fleetctl cat $fleetctlFile | diff -q -w ~/$localServiceUnit -)

Тогда просто проверьте переменную $DIFF

if [ -z "$DIFF" ]
then
  echo "No DIFF"
else
  echo "DIFF was found"
fi
Другие вопросы по тегам