mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-04-09 18:45:54 +02:00
23 lines
723 B
Bash
23 lines
723 B
Bash
#!/bin/sh
|
|
#
|
|
# This script reads in variables from a config file, and produces a list of
|
|
# commands to run to set these as shell environment variables, it is
|
|
# intended to be used as follows:
|
|
#
|
|
# eval $(readhash /var/ipcop/main/settings)
|
|
#
|
|
|
|
# shell variables must consist of alphanumeric characters and underscores,
|
|
# and begin with an alphabetic character or underscore.
|
|
VARNAME='[A-Za-z_][A-zA-z0-9_]*'
|
|
|
|
# For the assigned value we only accept a limited number of characters - none
|
|
# of which are shell metachars
|
|
VARCHARS='A-Za-z0-9=/,._@#+-'
|
|
VARVAL="[${VARCHARS}]*"
|
|
|
|
sed -ne "s/^\(${VARNAME}\)=\(${VARVAL}\)$/\1=\2/p" $1
|
|
|
|
# Accept space only if it's quoted
|
|
sed -ne "s/^\(${VARNAME}\)=\('[ ${VARCHARS}]*'\)$/\1=\2/p" $1
|