troubleshooting Question

Problem with alias

Avatar of cfgo
cfgo asked on
Unix OSLinux
12 Comments1 Solution524 ViewsLast Modified:
An alias "lr" is defined in .bashrc as:  
    alias lr='ls -ltr'

Could someone help me understand what's wrong with trying to invoke the alias from "sh -c"  using:
    sh -c "lr"

I also tried:
    sh -c ". ~/.bashrc;lr"
resulting in:  
    sh: lr: command not found

It seems odd, though, that if I invoke:
    sh -c ". ~/.bashrc;alias"
then the shell happily spits out all the alias definitions, including lr:
    alias lr='ls -ltr'

So, if 'sh -c' can report the alias definition, why can't it run the alias???

Thanks.

ASKER CERTIFIED SOLUTION
Join our community to see this answer!
Unlock 1 Answer and 12 Comments.
Start Free Trial
Learn from the best

Network and collaborate with thousands of CTOs, CISOs, and IT Pros rooting for you and your success.

Andrew Hancock - VMware vExpert
See if this solution works for you by signing up for a 7 day free trial.
Unlock 1 Answer and 12 Comments.
Try for 7 days

”The time we save is the biggest benefit of E-E to our team. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange.

-Mike Kapnisakis, Warner Bros