Make FreeBSD отличается от версии Linux. Сначала вам понадобится GNU make ( gmake
). Его можно получить из порта devel / gmake или пакета gmake
.
Если у вас нет прав администратора, вы все равно можете использовать порты для компиляции из исходных текстов и pkg
для установки двоичных файлов.
Если у вас уже есть дерево портов в / usr / ports
, вы можете просто скопировать / usr / ports / devel / gmake /
в свой домашний каталог и запустить сделайте
там. Возможно, вам придется переопределить некоторые переменные, чтобы поместить все в свой домашний каталог.
В противном случае вы можете скопировать все дерево портов в свой домашний каталог и скомпилировать все, что захотите.
Вы можете использовать команду pkg fetch git
, чтобы загрузить скомпилированный пакет git и затем распаковать его в свой собственный префикс.
По-моему, нормально, хотя я бы написал что-то вроде:
#!/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 .
Тем не менее, ваш сценарий должен работать.
Ваш синтаксис в порядке.
Синтаксис оператора if/then/else включает ключевые слова :if
, then
, else
иfi
(давайте не будем забыватьelif
). Команды после операторов then
, else
и elif
могут быть списком команд (одной или несколькими командами ).