Re: Bash passing a filename with a space into xargs?

"Michael F. Stemper" <[email protected]> Fri, 1 Apr 2022 15:07:52 -0500
Newsgroups alt.comp.lang.shell.unix.bourne-bash
Organization A noiseless patient Spider
Message-ID <[email protected]>
On 01/04/2022 11.21, Chris Roberts wrote:
> How can I get this to recognize a filename with a space?
> I am manipulating files in my script, but at the portion where I want to do a diff. I cannot get it to work.
> Would someone out there know of a workaround?  (Besides saying "don't have filenames with spaces in them).  :-)
> 
> This is in bash:
> uno="try this.txt"
> dos=blah.pdf
> echo "$uno" "$dos" | xargs -l bash -c 'echo uno:$0 dos:$1' | xargs  	
> #OUT: uno:try dos:this
> 
> echo "$uno" "$dos" | xargs -l bash -c 'echo uno:$0 dos:$1'
> #OUT: uno:try dos:this
> 
> echo uno:"$uno", dos:"$dos"  #this works, but doesn't help in my script.
> #OUT: uno:try this.txt, dos:blah.pdf

I can't quite tell what you're trying to do, but single quotes around
the definition of uno seems to help:


============================
#!/bin/bash

uno='try this.txt'
dos=blah.pdf

ls "$uno" "$dos"
============================


-- 
Michael F. Stemper
Psalm 94:3-6