On 6/24/25 10:46 PM, Samuel Sieb wrote:
On 6/24/25 10:23 PM, ToddAndMargo via users wrote:
Hi All,

In my bash script, I want to load a file into a
variable and keep the line feeds.

    x=$(cat filename)

remove all the line feeds.

I want $x to be exactly the same as filename.

This is where I would be using this:
     echo "$x" | mailx -s "$Subject" $Cmd  $To

I get mailed one long run on line

How do I do get my line feeds back?

The simpler form is "x=$(<filename)", but that's not the problem.  The problem must be mailx.  Try just the echo and see what happens.



I wound up doing this.  If the $Body variable start
with "file:", then cat the file to mailx (removing
the "file:" first.  Otherwise I echo the body:

Mail () {
     local Subject=$1
local Body=$2 # note: if $2 starts with "file:" the file will be use instead
     local Cmd=""
     local Cmd2=""

...

         if [[ "$Body" =~ ^file:.* ]]; then
             x=$(echo $Body | sed -e 's/^file://')
             Cmd2="cat $x | mailx -s \"$Subject\" $Cmd  $To"

         else
             Cmd2="echo \"$Body\" | mailx -s \"$Subject\" $Cmd  $To"
         fi

         echo $Cmd2
         eval $Cmd2
)
--
_______________________________________________
users mailing list -- users@lists.fedoraproject.org
To unsubscribe send an email to users-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/users@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to