diff --git a/scripts/create-dnsmasq.sh b/scripts/create-dnsmasq.sh
index c2da94b..84fddf8 100755
--- a/scripts/create-dnsmasq.sh
+++ b/scripts/create-dnsmasq.sh
@@ -15,19 +15,19 @@ fi
 
 cachenamedefault="disabled"
 
-while read line; do
+while read -r line; do
         ip=$(jq ".ips[\"${line}\"]" config.json)
         declare "cacheip$line"="$ip"
 done <<< $(jq -r '.ips | to_entries[] | .key' config.json)
 
-while read line; do
+while read -r line; do
         name=$(jq -r ".cache_domains[\"${line}\"]" config.json)
         declare "cachename$line"="$name"
 done <<< $(jq -r '.cache_domains | to_entries[] | .key' config.json)
 
 rm -rf ${outputdir}
 mkdir -p ${outputdir}
-while read entry; do
+while read -r entry; do
         unset cacheip
         unset cachename
         key=$(jq -r ".cache_domains[$entry].name" $path)
@@ -40,22 +40,22 @@ while read entry; do
         fi
         cacheipname="cacheip${!cachename}"
         cacheip=$(jq -r 'if type == "array" then .[] else . end' <<< ${!cacheipname} | xargs)
-        while read fileid; do
-                while read filename; do
+        while read -r fileid; do
+                while read -r filename; do
                         destfilename=$(echo $filename | sed -e 's/txt/conf/')
                         outputfile=${outputdir}/${destfilename}
-                        touch $outputfile
-                        while read fileentry; do
+                        touch "$outputfile"
+                        while read -r fileentry; do
                                 # Ignore comments
                                 if [[ $fileentry == \#* ]]; then
                                         continue
                                 fi
                                 parsed=$(echo $fileentry | sed -e "s/^\*\.//")
-                                if grep -q "$parsed" $outputfile; then
+                                if grep -q "$parsed" "$outputfile"; then
                                         continue
                                 fi
                                 for i in ${cacheip}; do
-                                        echo "address=/${parsed}/${i}" >> $outputfile
+                                        echo "address=/${parsed}/${i}" >> "$outputfile"
                                 done
                         done <<< $(cat ${basedir}/$filename);
                 done <<< $(jq -r ".cache_domains[$entry].domain_files[$fileid]" $path)