Shell называя оболочку (оболочки) и передающую огибающую переменную (переменные) или нет

Я хочу запустить/выполнить /usr/bin/FreeFileSync (FFS) от моего crontab самое большее один раз в день, каждый раз, когда внешний резервный целевой объем смонтирован.

Для этого я использовал ответ @Germar: т.е. сценарий буферизации, который делает несколько опрятной работы по дому прежде, чем назвать маленький резервный сценарий как второй аргумент базовому имени сценария буферизации. Названный резервный сценарий (дочерний процесс) в свою очередь выполняет проверку и называет FFS (главный дочерний процесс).

Поскольку FFS открывает свой основной GUI на запуск, я думаю, что должен объявить stdout например, как:

DISPLAY=:0.1; export DISPLAY   # I have two screens

Мой вопрос состоит в том, должен ли я объявить свою переменную среды ДИСПЛЕЯ в рамках дочернего сценария или в рамках родительского сценария буферизации, который называет его?

Ответ @muru применяется в случае? Т.е. если я включаю оператор DISPLAY в рамках дочернего сценария, я должен получить его в родительском сценарии, зная, что я имею дело с переменной среды?

2
задан 13 April 2017 в 15:24

1 ответ

У Вас есть две опции:

  1. можно использовать:

    export DISPLAY=:0.1
    

в родительском сценарии. Поскольку мы используем export, переменная будет наследована всеми дочерними процессами.

  1. можно использовать:

    DISPLAY=:0.1
    

в дочерней оболочке (если это называет дальнейшее использование подоболочек export впереди). В этом случае как дочерний сценарий звонит FFS, просто помещение DISPLAY в дочернем сценарии будет достаточно.

1
ответ дан 2 December 2019 в 05:03

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

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