/ bin / sh erro de script “expressão aritmética: esperando primário:” + “”

0

ERRO: ./client-disconnect.sh: 22: ./client-disconnect.sh: arithmetic expression: expecting primary: " + "

Eu só preciso saber como consertar isso. É para contabilidade de usuários com o OpenVPN.

Script

#!/bin/sh
# Copyright Josh Cepek
# This file is part of the openvpn-dynamic project, available from:
# https://github.com/QueuingKoala/openvpn-dynamic
# Dual-licensed under GPLv3 and BSD-3-clause

# BEGIN User Disconnect Accounting

log_file="/var/log/openvpn-disconnect.log"

# Be platform friendly to both GNU and BSD-userland:
if date --help >/dev/null 2>&1; then
    get_date() { date -d "@$1" +'%F-%H:%M'; }
else
    get_date() { date -r "$1" +'%F-%H:%M'; }
fi

# Vars used in log line:
#time:
date_from="$(get_date $time_unix)"
unix_to=$(($time_unix + $time_duration))
date_to="$(get_date $unix_to)"
time_h=$(($time_duration / 3600))
time_m=$(( $time_duration % 3600 / 60 ))
#bw:
bw_up="$(( $bytes_received / 1000**2 ))\
.$(( $bytes_received % 1000**2 / 1000 ))"
bw_down="$(( $bytes_sent / 1000**2 ))\
.$(( $bytes_sent % 1000**2 / 1000 ))"


# Format the line for export:
line="User '$common_name' \
using $ifconfig_pool_remote_ip \
from $trusted_ip:$trusted_port \
for $date_from to $date_to ($time_h:$time_m) \
BW(up/down) $bw_up/$bw_down"

# Append it to the log
echo "$line" >> "$log_file"

# END User Disconnect Accounting

exit 0
    
por bully 06.07.2015 / 23:47

1 resposta

1

Parece que o script espera vários parâmetros que são definidos pelo OpenVPN nas variáveis de ambiente como time_unix e time_duration , mas estão faltando.

Você não deve executá-lo diretamente. Você configurou o script corretamente, conforme explicado em documento ? Veja também página de manual do OpenVPN .

Você pode querer adicionar printenv para depurar o script. Todas as variáveis disponíveis são despejadas no arquivo de log por isso.

log_file="/var/log/openvpn-disconnect.log"
printenv >> "$log_file"
    
por 07.07.2015 / 00:18