I am having a heck of a time using an environment variable with a semicolon in a properties file read by WildFly (24) in Linux. One like:

`DATABASE_JDBC_URL=jdbc:sqlserver://sqlserver.c3klg5a2ws.us-east-1.rds.amazonaws.com:1433;DatabaseName=ejbca;encrypt=false`

The issue is that its truncating things at the semicolon if I don't use quotes so I end up with it trying to write to master since it thinks no database is specified.

I have it setup so that variable is in a file called datasource.properties that gets read from standalone.conf where this variable sits:

`JAVA_OPTS="$JAVA_OPTS -DDATABASE_JDBC_URL=${DATABASE_JDBC_URL}"`

It's read in with the following in standalone.conf:

```
set -a
. /opt/wildfly_config/datasource.properties
set +a

```

That in turn gets populated in standalone.xml with:

`<connection-url>${env.DATABASE_JDBC_URL}</connection-url>`

I try putting it in quotes and oddly enough it doesn’t start at all. Standalone.sh is no longer able to parse it:

`/opt/wildfly/bin/standalone.sh: line 338: --add-exports=java.desktop/sun.awt=ALL-UNNAMED: No such file or directory`

So I then escape it in quotes like this:

`DATABASE_JDBC_URL="jdbc:sqlserver://sqlserver.c3klg5a2ws.us-east-1.rds.amazonaws.com:1433\;DatabaseName=ejbca\;encrypt=false"`

Startup looks good in the log output this way:

`-DDATABASE_JDBC_URL=jdbc:sqlserver://sqlserver.c3klg5a2ws.us-east-1.rds.amazonaws.com:1433;DatabaseName=ejbca;encrypt=false`

But then java doesn’t like it, for some reason it sees the escape ticks:

`Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: The port number 1433\ is not valid.`

I can use sed to change the value in the standalone.xml, but all of the other properties I am doing work fine with the exception of this one and:

`<check-valid-connection-sql>${env.DATABASE_CONNECTION_CHECK}</check-valid-connection-sql>`

Where that value is "SELECT 1;" which it also does not like. That one worked with "'SELECT 1;'" but this one does not. I tried single quotes as well. That also gives the parsing error above. Is there any way to read in this environment variable that keeps wildfly happy?