bash script howto use heredocand assign to a variable and write to a file

zonetemplate=$(cat << SETVAR
info here
other things here
SETVAR)

 

The above is all you need, note that if you have variables you need to escape the $ with a so you then have $ otherwise the variables will be substituted which is probably often not what you want so be aware of that.

To echo the variable above/write it to a file with proper formatting you need to do something like this:

echo -e "$zonetemplate" >> file.zone

The -e preserves the formatting and the double quotes are also needed around the variable or things won't turn out as expected.


Tags:

Latest Articles

  • PHP2Shell Patching, Migration and Vulnerability Guide With Solutions
  • Firefox PDF Does Not Display - Shows Desktop Or Other App Instead Solution
  • How To Convert HTML to Text Based PDF
  • How To Emulate Android in Linux
  • How to use KVM and GUI inside Docker
  • python spacey ERROR: No matching distribution found for thinc<8.4.0,>=8.3.12
  • Debian 11 security repo fixes due to EOL
  • MySQL vs MariaDB how to create a socket user tutorial
  • Ubuntu Linux Mint Desktop Dark Black Cannot See Solution
  • How to combine .txt ACLs without breaking things
  • How to ping all of Googlebot's IPs script
  • 'virtio0' uses a qcow2 feature which is not supported by this qemu version: QCOW version 3
  • Linux bash script to get the IP of a list of hostnames
  • How To Use Camera Webcam in Docker for OBS Studio etc...
  • Computer Server Won't Post Boot Or Enter BIOS Setup After Installing RAID SAS or GPU Card etc..
  • How To Test PHP Scripts from CLI with GET variables/query string
  • apt-cache how to see all available versions of a package in Debian Ubuntu Mint
  • Virtualbox VBox Guest-utils drag and drop files stops working with Windows VMs
  • How To Remove Ubuntu Netplan and Go Back to /etc/network/interfaces
  • How To Force Flash an AMD Instinct GPU To Another Model Using Debian Ubuntu Mint Linux