[GTALUG] odd evince command behaviour

D. Hugh Redelmeier hugh at mimosa.com
Fri Jan 8 11:55:38 EST 2021


| From: Lennart Sorensen via talk <talk at gtalug.org>

| : is special in filenames if it is before the first directory separator
| for many programs

That's not UNIX, that's MS-DOS.

In UNIX, special interpretation is done by the shell.

| since it might be host:filepath

The ssh family of commands introduced this, and for that it is
documented in those commands.

| evince for example allows ftp://host/file so it clearly cares about :
| in the filename before any slash.

Now that I look, it is partially documented in evince(1).

It says that the operand is a filename.  But in the description of a
filename, it includes a remote filename.  It doesn't say what that is,
except to give an FTP example "ftp://adobe.com/sample.pdf".

I infer: it can be a filename or a URL.  It is assumed to be a URL if
it starts with letters and then a colon.  If something happens to be a
filename that matches that pattern, tough luck.

Since, in practice, URLs seem to always contain "/", and filenames do
not, that would be a better way to distinguish them.

| That's why using ./ in front works.  Otherwise you have to escape the :
| with a \ or perhaps even two of them depending who strips it.

No, \ does not work for that purpose (my experiments are in this
thread).


More information about the talk mailing list