原本qcd的程序在Ubuntu上就是跑不起來,於是自己折騰了下最終實現了。本人只是在qcd的程序基礎上進行適當的修改而已,特此聲明。
原qcd代碼下載鏈接:
免費下載地址在 http://linux.linuxidc.com/
用戶名與密碼都是www.linuxidc.com
具體下載目錄在 /2014年資料/3月/7日/國嵌qcd小功能在Ubuntu 12.04上的實現
下載方法見 http://www.linuxidc.com/Linux/2013-07/87684.htm
直接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跳轉,總體來說省了不少切換路徑的時間。