Когда 'то, если' не необходим?

Я получил две идеи, которые могли бы решить Вашу проблему:

  • Вы могли создать cronjob как корень (crontab -e) это копирует файлы, в которых Вы нуждаетесь к папке, которую может считать веб-сервер.
    Можно настроить cronjob для выполнения однажды минута, которая должна быть достаточно для большинства случаев.
  • Создайте нового пользователя для своего Dropbox (это не хорошая практика для выполнения материала как корня если не абсолютно необходимый). Я также рекомендовал бы создать отдельного пользователя Dropbox, который только имеет совместный доступ к одной папке, в которой Вы нуждаетесь (таким образом, Вы случайно не совместно используете больше, чем Вы хотите к).

Если Вы хотите, чтобы я вошел в большее количество детали, не стесняйтесь спрашивать :)

6
01.10.2014, 20:12
2 ответа

Это означает, что модуль ядра bridge не загружен. На большинстве машин загрузка модуля выглядит следующим образом:

sudo modprobe bridge
-121--92271-

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

i=$(who | grep -c "username")

if [ $i -eq "1" ]
then
/bin/rm -rf /tmp/tmpdir/
fi
-121--111741-

Предложение if будет выполнять все, что находится между , затем и fi , если выражение после , если имеет значение true, что в оболочечном выражении означает, что его значение выхода равно нулю. Для команды test можно использовать команду или скобки, которые являются просто короткой формой. Конструкция a & & b означает: «вычислить a и если она истинна также вычислить b». Таким образом, ваши два примера эквивалентны, но предложение if более читаемо и может использоваться для группировки нескольких команд.

3
27.01.2020, 20:28

Хорошо, я полагаю, вы понимаете, что [ условие ] (или [[ условие ]] в бэше) это, по сути, команда, у которой нет побочных эффектов, но это оценивает состояние и дает соответствующий статус выхода.  Вы упомянули связывание &&s вместе.  Вы можете сделать это;

A  &&  B  &&  C

эквивалентно

if A
then
    if B
    then
        C
    fi
fi

Но вы, кажется, спрашиваете, как это сделать

if A
then
    B
    C
fi

Вы можете сделать это с помощью

A  &&  (B; C)

или

A  &&  { B; C;}

Примечания:

  • Круглые скобки дают вам подцепление; т.е. команды B и C выполняются в дочернем процессе.  Поэтому, команды типа присваивания переменных или cd не будут иметь никакого влияния на родительскую оболочку.  Команды в фигурных скобках выполняются в том же процессе, что и команда A.
  • В синтаксисе фигурных скобок, там должно быть место после { и ; (или и ) до }.

Мое мнение:

Я настоятельно рекомендую использовать if-then--else синтаксис для улучшения читабельности.

3
27.01.2020, 20:28

Теги

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