3

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

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

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

有接盘侠吗?

4

2 回答 2

7

如果您在 ~/.bashrc 中添加此代码:

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

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

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

于 2011-03-20T23:54:51.947 回答
2

值得一提的替代方案:您可以export CDPATH=/dir/customers

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

这里的好处是您可以刚刚添加David_Johnson并且不需要资源.bashrc来使其工作(我知道它不是别名,但似乎提供了一点灵活性)

于 2011-03-21T03:43:13.080 回答