原本qcd的程序在Ubuntu上就是跑不起来,于是自己折腾了下最终实现了。本人只是在qcd的程序基础上进行适当的修改而已,特此声明。
原qcd代码下载链接:
具体下载目录在 /2014年资料/3月/7日/国嵌qcd小功能在Ubuntu 12.04上的实现
直接install跑不起来滴,我先是将install文件中的bin_content=/usr/local/sbin 改为 bin_content=/usr/local/bin,然后删除掉了qcd.sh这个文件,我不太清楚这个文件有什么作用。
然后改了qcd代码里面的130行处
echo $enter_dir > /tmp/qcd_temp
exit 0
思路是将取得的路径保存在qcd_temp文件中,原来想在shell程序中直接cd 改路径,但发现不可行,只能彩迂回的办法先将路径导出来,然后再用一个alias取个别名
alias cdd='cdd(){ >/tmp/qcd_temp;qcd;if [ $? -eq 0 ];then cd `cat /tmp/qcd_temp`;fi;};cdd'
若想使它永久生效,只要将其复制到/root/.bash_alias文件中即可。
这句话不难理解,先将qcd_temp文件清空,然后执行qcd,输入一个数字后就把路径导出到了qcd_temp文件中,然后再判断上一个命令返回值是不是0(前面设定了如果可以将路径导出则返回0,其它返回1),最后cd一下就达到了路径切换的目的,写起来很简单,折腾了我小半天,终于搞定了,故此记录一下。
最终实现的是用qcd -s 路径 保存路径,然后用cdd跳转,总体来说省了不少切换路径的时间。