进入某个文件夹时是否可以创建别名?
我想要的是什么:
我经常使用composer
(PHP包管理器),它在./vendor/bin
中安装二进制文件。我想直接从.
运行二进制文件。
例如:
/path/to/project
| - composer.json // dictates dependencies for the project
| - vendor // libs folder for composer, is created by composer
| | - bin // if lib has bin, composer creates this folder
| | | phpunit // binary
| | | phinx // binary
| | - somelib1 // downloaded by composer
| | - somelib2 // downloaded by composer
是否有可能让它发挥作用:
> cd /path/to/project
> phpunit
让phpunit
执行?
类似于“感知”composer.json
文件并在./vendor/bin
中动态查找二进制文件然后自动执行alias="./vendor/bin/<binary-name> $@"
之类的操作?
我使用OS X 10.9和终端应用程序中的框。
答案 0 :(得分:1)
您可以override cd
,trap my_function DEBUG
在每个命令上运行某些内容,或在PS1
或PROMPT_COMMAND
中添加命令。
这些有不同的行为和警告,我不建议为这个用例做任何一个(在某些时候使用它们之后)。它们是X-Y problems的错误解决方案。
另一种不太可能破坏事情的方法是创建一个自定义函数来做这两件事:
cdp() {
cd "$@" && phpunit
}