Архивные файлы дистрибутива включают образец dnscrypt-proxy.service
.
В качестве альтернативы вы можете просто использовать тот, который предлагается в официальных бинарных пакетах -- при необходимости измените пути
[Unit]
Description=DNSCrypt client proxy
After=network.target
Before=nss-lookup.target
[Service]
Type=simple
ExecStart=/usr/local/sbin/dnscrypt-proxy /etc/dnscrypt-proxy.conf
[Install]
WantedBy=multi-user.target
У вас несколько проблем с этим скриптом.
Отсутствующий "
находится в строке 31:
echo "$OUTPUT "|" $FS "GB round"
Вы также используете awk {'print $ 1'}
вместо awk '{print $ 1}'
.
Чтобы увидеть полный список синтаксических проблем, вставьте свой сценарий в ShellCheck .
Есть также ряд вещей, которые можно было бы сделать лучше, например, убрать несколько вызовов du -b $ OUTPUT | awk {'print $ 1'}
только для одного вызова (упрощает обслуживание).
Вам также не хватает нескольких двойных кавычек вокруг расширений переменных.
Я подключу shellcheck.net , так как он помог ответить на этот вопрос. Он пожаловался:
^ - SC1079: На самом деле это конечная цитата, но из-за следующего символа это выглядит подозрительно.
Действительно, в строке 31 у вас есть:
if [[ $FS == ^[0-9]*$ ]]; then echo $OUTPUT "|" $FS "GB" ;elif [[ $FS == ^[0-9]*[.][0-9]*$ ]]; then echo "$OUTPUT "|" $FS "GB round"; fi
если мы разберем это для удобства чтения, это:
if [[ $FS == ^[0-9]*$ ]]
then
echo $OUTPUT "|" $FS "GB"
elif [[ $FS == ^[0-9]*[.][0-9]*$ ]]
then
echo "$OUTPUT "|" $FS "GB round"
fi
... в этот момент легче увидеть, что самый последний echo "$ OUTPUT
содержит несбалансированные котировки.