From: Bob Schmertz <rschmertz@yahoo.com>
To: David "Gómez" <david@pleyades.net>, Zsh-users <zsh-users@sunsite.dk>
Subject: Re: Positional parameters with more than one space
Date: Thu, 29 Jan 2004 16:23:24 -0800 (PST) [thread overview]
Message-ID: <20040130002324.3439.qmail@web12405.mail.yahoo.com> (raw)
In-Reply-To: <20040129225017.GA9097@fargo>
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=us-ascii, Size: 1412 bytes --]
--- David Gómez <david@pleyades.net> wrote:
> Hi all ;),
>
> I'm coding a shell function that receives several files as parameters.
> These
> files usually will have spaces in its names, so i want this function to
> work correctly with spaces.
>
> I'm using the $@ array to iterate thru all parameters, with a for loop:
>
> for i in "$@"; do
> something
> done
>
> And it works fine, except when a file has more that one space in its
> name.
> I mean, if one of the files is "more than one space", after the $@
> expansion it transforms to "more that one space" which obviously
> doesn't
> exists. How can i avoid this?
>
You haven't given us enough info about where the parameters are coming
from (i.e., how you're calling your script) or what you're doing with
them inside the loop.
Here is a complete sample script called check_spaces.zsh:
#!/bin/zsh
for file in "$@"
do
/bin/echo $file
/bin/echo "$file"
done
# --end--
If I call it thus:
check_spaces.zsh *
I get two spaces for a file that has two consecutive spaces in its name.
If I run it with bash, however, I get consolidated spaces in the output
of the first echo line, without the parameter quoted.
In short, I don't know why you're having problems :-)
=====
Cheers,
Bob Schmertz
__________________________________
Do you Yahoo!?
Yahoo! SiteBuilder - Free web site building tool. Try it!
http://webhosting.yahoo.com/ps/sb/
next prev parent reply other threads:[~2004-01-30 0:24 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-01-29 22:50 David Gómez
2004-01-30 0:23 ` Bob Schmertz [this message]
2004-02-02 8:52 ` David Gómez
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20040130002324.3439.qmail@web12405.mail.yahoo.com \
--to=rschmertz@yahoo.com \
--cc=david@pleyades.net \
--cc=robert.schmertz@terpalum.umd.edu \
--cc=zsh-users@sunsite.dk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.vuxu.org/mirror/zsh/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).