Debian - как запустить скрипт на запуске, как только существует готовое к употреблению интернет-соединение?

Не уверенный, что Вы подразумеваете под fbgs или почему Вы говорите screen является громоздким. Но если ударом ttys Вы имеете в виду виртуальные консоли Linux, затем Вы открываетесь больше openvt команда (раньше известный как open).

14
07.11.2014, 04:08
2 ответа

С SED :

sed '$!N;$!N;y/\n/:/'

Хотя я думаю, что это менее общее, чем n линии , чем должно быть. Если количество строк, которые вы хотите, всегда будут в конце поля, подобного тому, то:

sed '$q;N;/1.$/!s/\(..*\)\(\n\)/\2\1:/;//P;D
' <<\INPUT 
field1a
field1b
field2b
field1c
INPUT

Выход

field1a
field1b:field2b
field1c

... который стекирует линии после того, как это заканчивается 1 , то любой один символ до Это сталкивается с другим также заканчивающимся с 1 , чем что-то еще.

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

sed '.../[^0-9]1.$/!...'

... Если вы попадаете в несколько цифр.

-121--77639-

Интернет-соединение воспитывается входом в /etc/rc6.d/ , вероятно, S35NetWorking . Если вы измените этот файл и вставьте свои команды в конце, или лучше добавьте /etc/init.d/mystuff и ссылку /etc/rc0.d/s36mystuff и Вставьте там свои команды, затем начнут как можно скорее.

-121--30046-

Поместите свой скрипт в /etc/network/if-up.d и сделайте его исполняемым. Он будет автоматически запускать каждый раз, когда появится сетевой интерфейс.

Чтобы сделать его работать только в первый раз, когда он работает на каждом загрузке, проверить ли он наличие файла флага, который вы создаете после первого раза. Пример:

#!/bin/sh

FLAGFILE=/var/run/work-was-already-done

case "$IFACE" in
    lo)
        # The loopback interface does not count.
        # only run when some other interface comes up
        exit 0
        ;;
    *)
        ;;
esac

if [ -e $FLAGFILE ]; then
    exit 0
else
    touch $FLAGFILE
fi

: here, do the real work.
21
27.01.2020, 19:50

интернет-соединение поднято записью в /etc/rc6.d / , вероятно S35networking. Если вы измените тот файл и вставите ваши команды в конце, или лучше добавите /etc/init.d/mystuff и ссылка /etc/rc0.d/S36mystuff к нему и вставите ваши команды там, то это запустится, как только сеть произошла.

2
27.01.2020, 19:50

Теги

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