Как я могу ждать в сценарии .profile, пока все устройства не будут установлены?

Еще один инструмент, который почти не упоминается, - tasksel.

Запустите tasksel --list-tasks, чтобы посмотреть, какие задачи доступны. []

Выполнить tasksel --list-tasks, чтобы посмотреть, какие задачи доступны. ! d1]

0
задан 3 February 2018 в 17:19

2 ответа

Как запускать скрипт в качестве демона?

#!/bin/sh while true; do if mountpoint -q /media/rene/DEVICE_NAME; then export device_mounted=yes else unset device_mounted fi sleep 30 done

Изменить:

С разъяснением в вашем отредактированном вопросе мы можем немного упростить скрипт:

#!/bin/sh while true; do if mountpoint -q /media/rene/DEVICE_NAME; then export device_mounted=yes break fi sleep 30 done

Сохраните это где-нибудь, например, device-check.sh и сделать исполняемый файл сценария:

chmod +x /path/to/device-check.sh

Затем добавьте эту строку в ~/.profile:

/path/to/device-check.sh &

Конечный символ & необходим. Это запускает скрипт как отдельный процесс, позволяя продолжить процесс входа в систему.

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

2
ответ дан 17 July 2018 в 21:39

Как запускать скрипт в качестве демона?

#!/bin/sh while true; do if mountpoint -q /media/rene/DEVICE_NAME; then export device_mounted=yes else unset device_mounted fi sleep 30 done

Изменить:

С разъяснением в вашем отредактированном вопросе мы можем немного упростить скрипт:

#!/bin/sh while true; do if mountpoint -q /media/rene/DEVICE_NAME; then export device_mounted=yes break fi sleep 30 done

Сохраните это где-нибудь, например, device-check.sh и сделать исполняемый файл сценария:

chmod +x /path/to/device-check.sh

Затем добавьте эту строку в ~/.profile:

/path/to/device-check.sh &

Конечный символ & необходим. Это запускает скрипт как отдельный процесс, позволяя продолжить процесс входа в систему.

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

2
ответ дан 23 July 2018 в 22:16
  • 1
    Я никогда не использовал скрипт в качестве демона. Где и как начать этот скрипт? Влияет ли export ... на другие несвязанные процессы? – René Nyffenegger 3 February 2018 в 14:30
  • 2
    @ RenéNyffenegger: Пожалуйста, рассмотрите сценарий как проект, идею. Если вам нужна более подробная помощь, я думаю, вам нужно сообщить нам больше об обстоятельствах. Как / когда устройство установлено? Как только он будет установлен, будет ли он монтироваться через сеанс, или он может быть размонтирован позже? Какую машину вы используете - рабочий стол, сервер, ...? Я предлагаю вам отредактировать свой вопрос и попытаться охватить эти вопросы. (Установка или отключение переменной среды не влияет на уже запущенные процессы. Не будут затронуты и новые процессы, которые не запрашивают эту конкретную переменную.) – Gunnar Hjalmarsson 3 February 2018 в 14:49
  • 3
    @ RenéNyffenegger: отредактирован ответ. – Gunnar Hjalmarsson 4 February 2018 в 04:41

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

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