Файлы перезаписи во время запуска

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

  • Местоположение файла: /user_data/somePrefs.txt
  • Местоположение файла, чтобы быть заменой: /software_location/somePrefs.txt

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

Существует ли автоматизированный способ сделать так во время запуска?

1
задан 9 August 2017 в 20:05

2 ответа

  1. Щелкают правой кнопкой, новый Документ, Пустой Документ. (создают его где угодно, Вам нравится) . Назовите его чем-либо заканчивающимся .sh (пример: StartupCommands.sh)
  2. Тип #!/bin/bash в первой строке

  3. (хитрый бит) Тип Ваша команда копии в следующей строке. Это должно точно походить на строку ниже. Не забывайте ', цитаты

    cp '/path/to/user_data/somePrefs.txt' '/path/to/software_location/somePrefs.txt'
    

и путь должны быть "полным путем" (начинающий с корня и полностью вниз в Ваши файлы).

... поэтому наконец файл должен быть похожим на это:

#!/bin/bash
cp '/path/to/user_data/somePrefs.txt' '/path/to/software_location/somePrefs.txt'
  1. Щелкают правой кнопкой по Вашему .sh файл, Свойства, в соответствии с Полномочиями, проверяют, что поле "Allow executing file as program"

  2. открывает, "Startup Applications" (нажмите кнопку запуска и ищите его)

  3. , нажимают "Add"

  4. , можно ввести то, что Вы хотите на "Имя", и поля "Comment"

  5. нажимают "Browse..." и выбирают Ваш .sh сделанный файл

. аплодисменты.

, Если Вы нуждаетесь в помощи с шагом 3, говорят мне в комментарии

<час>

Подсказка для шага 3

, можно открыть новый терминал. Перетащите эти somePrefs.txt файлы (по одному) в терминал. То, что появляется в терминале, является полным путем.

0
ответ дан 8 December 2019 в 04:25

Теперь это - команда, которая должна достигнуть того, что Вы хотите:

cat /user_data/somePrefs.txt > /software_location/somePrefs.txt

Теперь у нас есть три сценария:

  1. Запуск, иначе загрузитесь:

    • в этом случае мы можем использовать systemd программа для достижения, это при каждой начальной загрузке

        <литий> Создает сценарий в любом месте с вышеупомянутой командой. <литий> Делают разрешение 755 с: chmod 755 name_of_file <литий>

        Создает systemd сервисный файл как таким образом:

        [Unit]
        Description=copy script
        
        [Service]
        Type=simple
        ExecStart=/bin/bash -c "/path/to/file/copy.sh"
        
        [Install]
        WantedBy=multi-user.target
        
        <литий>

        Вызов это, что Вы можете, здесь я назову его cop.service

        <литий>

        Место, с которым файл в /etc/systemd/system/

        <литий>

        Включает его:

          <литий> sudo systemctl enable cop
        <литий> Это будет петлять при каждой начальной загрузке
  2. В перезагрузке:

    • Использование cron для выполнения его.

        <литий>

        Настроенный это как так:

        crontab -e
        @reboot /path/to/cop.sh
        
        <литий>

        И в каждой перезагрузке, которая должна работать

  3. При входе в систему выхода из системы:

    • Место, с которым командным файлом в /home/$USER/.bashrc файл и это будут выполнены при каждом выходе из системы и входе в систему
    • исполняемый файл Make-файла: chmod +x /path/to/cop.sh
    • Добавьте: /path/to/cop.sh Исходный файл файла
    • для проверки никакой ошибки: source ~/.bashrc
    • Теперь любое время Вы выходите и заходите tha выполнения сценария.

сценарий Простой выборки с Вашей командой был бы:

#!/bin/bash
cat /user_data/somePrefs.txt > /software_location/somePrefs.txt

ПРИМЕЧАНИЕ:

необходимо было бы изменить пути к каталогам согласно собственной ситуации.

0
ответ дан 8 December 2019 в 04:25

Другие вопросы по тегам:

Похожие вопросы: