我有一些简单的脚本,允许我在运行时更改某些版本的应用程序在我的.bashrc文件中的编码。
例如,假设我有“猫”应用程序。 有两个版本,一个在/testing/工作,另一个在/testing/testing版。
如果我运行bash命令“changer.sh”,它将/ bin / cat中的符号链接改为指向/ test / beta / cat或/ test / working / cat。 在terminal和Konsole或Xterm内工作时,这工作正常。
我的.xinitrc中也有一行,这样X应用程序也可以看到这个环境variables,但是有一个问题:当Xorg启动时,Xorg / Xfree86似乎取消了引用这个符号链接,所以在整个持续时间在我的Xsession中,“cat”被parsing为/ test / working / cat,如果稍后发生更改,则不会重新评估符号链接。 似乎现在唯一的解决方法是每次更改此符号链接时closures并重新启动Xorg。 是否有可能迫使Xorg重新加载/重新parsing我的.xinitrc,而不必每次重新启动它?
谢谢!
不,不是。
与您的应用程序设置一个bin文件夹:
ln -s /working/bin/cat /local/bin/cat
make .xinitrc将你想要的应用程序设置为符号链接。
CAT=/local/bin/cat # and execue $CAT and not just cat
要么
PATH=/local/bin:$PATH
这样,/ local / bin中的所有应用程序都将在$ PATH中的应用程序之前使用(找到)
让你的changer.sh处理/ local / bin中的链接