Do you know all the meaning of * in an Amiga Shell? Actually, there are plenty, and it's not always easy to keep them apart.
So, first, if you put the star * *outside of quotes*, it means the current console. So, for example, if I place a
copy foobar to *
it means: Copy the contents of the file onto the screen. Strange, since the star usually means a "wild card" for many other Os'es.
Things change if you put the star in double quotes, however. There, the star is the "escape character" of BCPL, quite like the backslash in C. Since AmigaOs was traditionally Tripos, written in BCPL, it is still this way today.
That is:
echo "*e[H"
puts the cursor in the home position, i.e. top left. This is because "*e" is the escape sequence for the ASCII character "escape" (hex 0x1c, decimal 27), Escape-[ is the "CSI", the "control sequence introducer, and "CSI-H" is the console command, understood by the console window, to put the character into the top-left position.
Thus, the star means something different *in* quotes compared to *outside quotes*. If you use
echo *e[H
instead, then that's just putting the literal string on the console.
Now, in Os 2.x, CBM rewrote the dos.library. Or rather, they simply took "arp", the "Amiga Replacement Project", made a couple of modifications, and used that as a new basis. In arp, a flag exists to change the interpretation of wild-cards, i.e. patterns that match several files to run a job more efficiently. For example,
copy #? to *
copies all files in the current directory to the console, #? matching all files. The expansion of the wild card #? is done by the copy command, not by the shell (unlike in other operating systems, Linux for example, where this expansion is under shell control).
Now we come to the third meaning of the star. Unfortunately, arp included an option in its pattern matching to use * as a replacement for #? "by popular demand". Thus, if a command uses the arp = now dos.library pattern matcher, * *may* (by choice of the user) get another meaning, namely "match every file".
This now becomes really confusing, as you need to remember when a command uses the pattern matcher (then *=#?) and when not (then *=current console).
So, for example, with the arp-"*" flag set (several patches provide this option),
copy * to *
means "copy all files to the console", where the first "*" is seen by the pattern matcher, so it means #? = all, and the second star is not, so it means console.
Unfortunately, you have to know this, and since you usually cannot know (how, anyhow?) it's usually *not* a good idea to enable this option. There are already two meanings of the star, adding a third one is not a particularly good choice, even more so as it depends on implementation decisions of the shell command and is not under direct control of the user.
Avoid this stuff, and learn that "Amiga is a bit special" and uses #? as wildcard, and not *. * is the BCPL escape sequence within quotes, or the console as file name outside quotes.