我想创建一个执行以下操作的别名:
我尝试了以下内容:
alias b="/usr/bin/mate -w ~/.bashrc; source ~/.bashrc"
但它不起作用:当我关闭TextMate时,shell不会返回。
有什么想法吗?
答案 0 :(得分:3)
我毫不犹豫地建议它,但如果这是真正想要的功能,您可以通过将PROMPT_COMMAND
变量设置为某些内容来实现类似的功能聪明。
PROMPT_COMMAND
所以,如果只有在点击 Enter 或执行命令后才更新shell,这个应该差不多了。
将export PROMPT_COMMAND="source ~/.bashrc"
放入~/.bashrc
文件中。将其重新发送到您希望自动更新行为的shell会话中。
这很浪费 - 它会在每次提示时重新提供文件。如果您可以让编辑者将旧版本保留在特定文件中,请说~/.bashrc~
(其中第一个~
表示您的主目录,最后一个~
只是~
,备份文件名的常见选择)然后你可以做更像(未经测试)的事情:
export PROMPT_COMMAND="[ ~/.bashrc -nt ~/.bashrc~ ] && touch ~/.bashrc~ && source ~/.bashrc "
然后每次运行时stat(2)
两个文件,检查哪一个更新,并且仅在~/.bashrc
比其备份更新时才重新获取。 touch
命令用于使备份看起来更新并且再次使测试失败。
答案 1 :(得分:1)
您是否经常编辑.bashrc
文件以至于需要别名?为什么不编辑文件,保存,然后exec bash
?