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

"Michael F. Stemper" <[email protected]>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.