So if I understand the man page correctly, what I read before was true. 'command' prevents recursions, at least with functions.
Also, if I understand your first comment correctly, since I am the sole user of my box, would a check for an interactive shell before applying a modded cd/ls command be ok? Something in the spirit of:
[ "-t0" ] && blah () { command ... ; }?
If the check succeeds, that shouldn't be applied scripts, right?
Instead of aliasing ls with ls, it's a better idea to use a command which isn't in use. Run top to look at all processes running under your username. Now consider, any one of those may be trying to grep ls and it's expecting a standardized output. Sooner or later, this is going to bite you, and it's going to be a pain to troubleshoot.
Alias as something like
alias boobs="ls --blah --blah --blah"
instead.
If you want to try and figure out how to do it the way you want to do it, that should be an interesting exercise, but I'm not going to encourage poor Unix-Fu by telling you how to do it. You can probably hang yourself just fine without my advice.
Fair enough. Your advice is reasonable and simple. Remembering a new alias is cheaper than fucking my box up. TY.
Here IS some good advice you should follow. Don't use .bashrc for this kind of thing, just
$ touch /usr/local/bin/boobs
$ chmod +x /usr/local/bin/boobs
Then edit the file boobs like this:
#! /bin/bash
ls --blah --blah --blah
This is the correct way to create new commands. Every file created in /usr/local/bin is a script that can be run from everywhere. Just like standard commands.
(post is archived)