:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: Topic: Alias :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: SYNTAX: alias [alias] [text] alias List all aliases alias [alias] List only the one alias alias [alias] [text] Add a new alias definition The 'alias' command allows you to abbreviate certain commands as something much shorter, and to list your aliases, with syntax as specified above. The 'ralias' command must be used to remove aliases from your alias list. EXAMPLE: alias tb tell barney Then, if you were talking to barney frequently you could type: tb hi! instead of: tell barney hi! Also what you can do with aliases is command line replacement, using the designators $1, $2, etc, and $* you can replace commands within a command string rather than just at the end. EXAMPLE: alias pb put $1 in bag would allow you to type: pb ring and that would put the ring in the bag. The # following the $ is the position of the argument on the command line that you want to function as the replacement. $1 is the first argument, $2 is the second... EXAMPLE: alias tph tell $1 I'm dying! I have $2 hit points left! Then you could type: tph barney 12 And it would tell barney: I'm dying! I have 12 hit points left! In the example above about bags, the example given will work, however you're more likely going to want $* instead of $1. $* is a special case that means to substitute EVERY argument in that place. Since some items are two words, and often you want 'ring 2', for instance, those are treated as 2 separate arguments, and $1 would only get the first. $* will get every argument, allowing you to type: pb black sword 3 The new alias would be: alias pb put $* in bag $* is also the 'superset' of the arguments, so you can NOT combine it with any of the other $ variables ($1, $2.. etc) Aliases allow a wide range of special metacharacters to be used which are substituted with supplied text when the alias is used. The special symbols are: $* All the arguments supplied to the alias (eg for the command 'g all from bag' $* would be 'all from bag'). $n The nth argument supplied to the alias (eg $2 from 'g all from bag' would be 'from'). $n- The nth argument onwards ($2- for 'put potion in sack' is 'in sack'). $m-n The mth through nth arguments (for 'give silver key to man' $2-3 is 'silver key'). Note that if there are only 4 arguments to an alias and you type more than four, the additional arguments will be appended. For example, 'alias la look at' will still let you 'la board'. Also, aliases cannot be nested. If after an alias substitution is done, the verb is an alias it won't be substituted again. Common aliasing problems involve accidental aliasing of rather important commands. You should be very careful when you create aliases that you don't do things like: alias cast ball fireball as entering 'cast ball' will result in an attempt to 'ball fireball ball' and any other command that starts with 'cast' will also fail. It is also a particularly bad idea to 'loop' aliases, for example you do not want to do this: alias get get all That causes the alias to loop on 'get'. Nor do you want to do this: alias look examine alias examine look Finally, if you're having problems with commands suddenly not working anymore, please check your alias or nickname list before confronting a wizard--your problem often lies therein. See also: rnickname, nickname, ralias, loginClose Window