Answers:
我感觉到您非常“面向目录”,在这种情况下,这可能会更好地适应您的想法。
(但是,老实说,我认为这完全不是一个好主意,您希望命令具有全局性。)
在中.bashrc
,放入alias go="./.cmd"
(然后source ~/.bashrc
)。
然后,在每个这样的目录中,放入一个名为的脚本.cmd
,然后是chmod +x .cmd
,然后go
执行您的操作。
touch .TESTNO; echo 2 > .TESTNO
在每个目录中放置一个文件(),然后在您的函数中查找该文件,并根据.TESTNO文件的测试编号进行分支包含。尽管一点都不困难,但您可能无法为此使用别名。您必须使用一个函数。
我正在完成一个项目。签出:localalias。
这是一个演示:
有趣的是,我实际上go
在演示中用作示例。我没有显示切换目录(关于演示,我应该进行一些更改),但是带有la
命令的功能确实在定义它们的目录中是本地的。
如果将以下函数添加到.bashrc中
function cd () {
builtin cd "$@" && [[ -f .aliases ]] && . .aliases
return 0
}
每次cd到带有.aliases文件的目录时,它都会被获取。
如果其他人可以在您的计算机上创建文件,请小心安全。
使用此技巧,别名永远不会被删除,但是您可以在函数中编写任意数量的代码。
ondir使用此技巧,并有大量的铃声和口哨声。
.bashrc
。(例如,这不适cron
用于)。