2015-11-18 40 views
1

我想從終端打開kdiff3並傳遞兩個本地文件作爲kdiff3的參數(不在git repo中)。 Kdiff3我使用的git diff工具可以很好地比較我的當前版本和回購頭版本。但是,當我運行帶有本地文件(不是git repo)的kdiff3作爲終端的參數時,出現問題,然後我得到一個錯誤提示,FSPathMakeRef(local_kdiff_path/kdiff3.app) failed with error -43.僅供參考,kdiff3.app路徑位置與我爲git diff工具定義的路徑完全相同或別名。以下兩種方式我嘗試過,但他們都沒有工作:Kdiff3 FSPathMakeRef(app_path_location)失敗,錯誤-43 Mac OS-X

alias kd2='open -a "local_kdiff_path/kdiff3.app" $1 $2' 
alias kd3='sudo open -a "local_kdiff_path/kdiff3.app/Contents/MacOS/kdiff3" $1 $2' 

請建議我如何解決此問題?

回答

1

問題是您在bash script.bash_profile中定義的路徑無法找到應用程序位置。儘管在Linux或Windows中可以輕鬆訪問該參數,但對於Mac而言,該腳本有點不同。

MAC OS-X溶液

創建簡單bash腳本如下和提供的參數

kdiff_installed_folder/kdiff3.app/Contents/MacOS/kdiff3 "$1" "$2" "$4" 

Linux解決方案

添加以下在.bashrc或者命令。別名文件

alias kd '/app/kdiff3/0.9.96/RHEL64/kdiff3' 
alias kd1 '/app/kdiff3/0.9.96/RHEL64/kdiff3 $1' 
alias kd2 '/app/kdiff3/0.9.96/RHEL64/kdiff3 $1 $2' 

的Windows解決方案

如果您安裝了Git-bash添加以下行的.bashrc文件

alias kd='"C:/Program Files/KDiff3/kdiff3.exe"' 
alias kd1='"C:/Program Files/KDiff3/kdiff3.exe" $1' 
alias kd2='"C:/Program Files/KDiff3/kdiff3.exe" $1 $2' 
-2

MAC OS-X解決方案

如果你安裝了zsh,添加以下行.zshrc文件

alias kd='open -a "Applications/kdiff3.app"' 
+0

我不是sur e這與其他答案有什麼不同? – Carpetsmoker

+0

@ Carpetsmoker謝謝你試圖改進以前的答案,但我因爲錯誤的答案而放棄了它。 – J4cK

相關問題