Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: Problem with "?" symbol



Hi,

> The ? is a special character for the shell (which cannot know
> whether the argument is a filename or not). There are 2 solutions:
> 
> 1. Quote the character manually (...)
> 2. Quote the character automatically (...)

I think there is also a third solution:

Unset the option nomatch:

$ zsh -f
$ curl -vvv -k https://HOST.COM/page/page2/?virtual_serial=101032
zsh: no matches found: https://HOST.COM/page/page2/?virtual_serial=101032
$ unsetopt nomatch
$ curl -vvv -k https://HOST.COM/page/page2/?virtual_serial=101032
* About to connect() to HOST.COM port 443
*   Trying 208.73.210.28... 

The manual explains, what happens, when nomatch is set (which is the default for invokation as zsh):
NOMATCH (+3) <C> <Z>
 If  a  pattern  for  filename  generation has no matches, print an error,
 instead of leaving it unchanged in the argument list.  This also  applies
 to file expansion of an initial `~' or `='.


I like this option, it is very handy, also for things like that:
$ nmap -sP 192.168.1.*


Best regards,
Manuel.




Messages sorted by: Reverse Date, Date, Thread, Author