自动将别名添加到.bashrc

时间:2011-03-20 23:44:44

标签: bash alias aliases

我知道可能没有简单的方法可以做到这一点,但我想我可能会把它放在那里。我有一个目录,其中包含我处理的每个客户的子目录。我希望能够在计算机上的任何位置键入该客户目录名称,然后切换到该目录。换句话说:

/dir/customers/
/dir/customers/customer1/
/dir/customers/customer2/
/dir/customers/customer3/

我希望将customer1,customer2和customer3都添加到我的〜/ .bashrc文件中,每当我创建一个新客户时,它都会更新以添加它。

任何参赛者?

2 个答案:

答案 0 :(得分:7)

如果你在〜/ .bashrc中添加这段代码:

for i in /dir/customers/*
do 
   alias $(basename $i)="cd '$i'"
done

它将为customer1,customer2,customer3(/ dir / customers /的所有子目录)设置别名,每次添加新客户(例如:customerN)时,它的别名customerN将自动添加到您登录。< / p>

例如:alias customer1是cd / dir / customers / customer1,别名customer2是cd / dir / customers / customer2等......

答案 1 :(得分:2)

值得一提的另一种选择:你可以export CDPATH=/dir/customers

然后如果你在任何地方并输入cd David_Johnson,如果存在这样的目录,你将被带到/dir/customers/David_Johnson

这样做的好处是你刚刚添加了David_Johnson,并且不需要为你的.bashrc提供资源就可以了(我知道它不是别名,但似乎提供了一点灵活性)