Sziasztok!
Az alábbi szkriptet Bash parancssorba gépelve helyesen jön létre az uj_file, ám ha fájlba írom, akkor végrehajtáskor sajnos rossz értékek kerülnek az uj_file nevű fájlba.
#!/bin/bash
cat << EOF > /tmp/uj_file
# Megjegyzes..
for daemon in „${DAEMONS[@]}”; do
if [ „$daemon” = „${daemon#!}” ]; then
if [ „$daemon” = „${daemon#@}” ]; then
start_daemon $daemon
else
start_daemon_bkgd ${daemon:1}
fi
fi
done
EOF
Világos, hogy mivel Bash az interpreter, „ő” értelmezi amit tud, ezért hibás az eredmény.
Azon kívül, hogy escape karakterekkel védem amit lehet, létezik -e valami egyszerű megoldás (pl. kapcsoló), amivel globálisan tiltható a Bash ezen működése azaz, hogy semmit ne akarjon „értelmezni”?
legutóbbi hsz