start.sh replaces some properties defined in nifi.properties with a set of environment variables.
This adds some flexibility as the users are able to modify properties without touching the nifi.properties file but it can lead to some frustration when users think they can replace any property by defining an environment variable with the same name. Also, when users want to provide their own nifi.properties file as some properties will be overwritten.
I believe we should only replace a property when there is an environment variable defined with the same name (we should use the same names that appear in the nifi.properties file in uppercase and replacing any . with _). Defaults should be taken from the nifi.properties file.
This way users can replace the properties file with a custom one, choose to define environment variables, or both.