Два оператора else в сценарии bash? [закрыто]

Make FreeBSD отличается от версии Linux. Сначала вам понадобится GNU make ( gmake ). Его можно получить из порта devel / gmake или пакета gmake .

Если у вас нет прав администратора, вы все равно можете использовать порты для компиляции из исходных текстов и pkg для установки двоичных файлов.

портов

Если у вас уже есть дерево портов в / usr / ports , вы можете просто скопировать / usr / ports / devel / gmake / в свой домашний каталог и запустить сделайте там. Возможно, вам придется переопределить некоторые переменные, чтобы поместить все в свой домашний каталог.

В противном случае вы можете скопировать все дерево портов в свой домашний каталог и скомпилировать все, что захотите.

pkg

Вы можете использовать команду pkg fetch git , чтобы загрузить скомпилированный пакет git и затем распаковать его в свой собственный префикс.

1
31.12.2018, 13:58
2 ответа

По-моему, нормально, хотя я бы написал что-то вроде:

#!/bin/bash

check_file="/path/to/mount/.exists"

if [ ! -f "$check_file" ]; then 
    /usr/sbin/sendmail -t alert-email@foo.com </etc/alert.txt
    /bin/sh /etc/fix_mount.sh
fi

Я не вижу причин для первого утверждения echo, поскольку вы направляете его /dev/null.

И имеет смысл действовать, если файл отсутствует . Отсюда логический оператор not !.

Кроме того, я бы не стал использовать fileв качестве имени переменной, так как это программа GNU/Linux .

Тем не менее, ваш сценарий должен работать.

1
27.01.2020, 23:23

Ваш синтаксис в порядке.

Синтаксис оператора if/then/else включает ключевые слова :if, then, elseиfi(давайте не будем забыватьelif). Команды после операторов then, elseи elifмогут быть списком команд (одной или несколькими командами ).

2
27.01.2020, 23:23

Теги

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