2015-07-11 101 views
-1

我寫了一個PHP腳本「toalpha」(目的與此問題無關)。該腳本位於$ HOME/bin中。如果我的CWD是$ HOME/bin,我可以通過鍵入「./toalpha」來執行它。但是,如果我只需鍵入「toalpha」,我得到一個消息: 無法打開輸入文件:/ C /巴里/斌/ toalphacygwin:無法通過PATH執行PHP腳本

有些信息可能是相關的:

。我最近將我的桌面從WinXP升級到了Win7。

。這是我第一次將自己的用戶名改爲普通用戶而不是管理員。 (我試圖在XP上做到這一點,但遇到問題,並回到我的正常用戶名爲管理員。不需要解決方案,因爲我不再運行XP,除此之外,這是我自己的錯。)

。我的$ HOME is/c/barry 我這樣做是通過將以下內容添加到我在安裝cygwin時創建的.bashrc中: mount C:/ c HOME =/c/barry cd 。 .bashrc

。 PHP腳本的前兩行是:

#!/c/xampp/php/php 
<?php 

。是的,我想要使用的PHP的副本是在C:\ xampp \ php \ php.exe

。我有另一個我在WinXP上編寫的類似腳本。它始於相同的兩行。它在XP下運行良好,但不適用於Win7。

我的問題的根源最好的猜測:

  1. XP和Win7

  2. 之間的區別我摸索着以某種方式的主目錄的變化。 IIRC,當我在XP上安裝Cygwin時,我做了一些欺騙,所以它會直接在C:\ barry中啓動,但我不記得在Win7上安裝它時我是如何做到的,所以我選擇了「簡單的方法」。

回答

-1

慶典被傳遞到 「C:\ XAMPP \ PHP \ php.exe的」
文件名 「/ C /巴里/斌/ toalpha」
但是這是一個cygwin路徑和你的PHP不不認識它。

你應該把它轉換使用 cygpath可以理解的一個

嘗試 /C/XAMPP/PHP/PHP的$(cygpath -w/C /巴里/斌/ toalpha)

+0

我不得不實際在那裏粘貼路徑名,即C:\ barry \ bin \ toalpha 而不是$(cygpath -w/c/barry/bin/toalpha)。處理#的代碼!腳本希望在那裏看到一個文字路徑,而不是需要由shell評估的構造。 但是,謝謝你,通過應用你的建議(作爲修改),我現在有一個腳本,我可以在任何地方執行。 –