Konstantin Svist wrote:
Daniel B. Thurman wrote:
I wonder why this fails:
# touch '-foo'
touch: invalid option -- 'o'
# touch '\-foo' (works)
# mv '-foo' foo
mv: invalid option -- 'o'
Try `mv --help' for more information.
What confuses me is, if foo was surrounded by
double-quotes, then expansion may be a problem
but with single-quotes, no expansion is performed,
so why does both commands fail? Is this some
quirkiness in the way command arguments are
being handled?
Just wondered,
Dan
The error, "touch: invalid option -- 'o' " comes from touch, not from shell.
Shell does indeed ignore the '-foo' option and passes it in as a string
to touch, after removing the single quotes. So touch interprets it just
as if it was called this way: touch -foo
So, there is no way to force the shell to pass argument '-foo' to
touch to get the desired result: touch '-foo'?
I tried: touch "'-foo'", but it created file: '-foo'
I guess I will just have to escape the beginning `-' characters
in my scripts.
Thanks!
Dan
--
fedora-list mailing list
fedora-list@xxxxxxxxxx
To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-list
Guidelines: http://fedoraproject.org/wiki/Communicate/MailingListGuidelines