我使用PHP來獲取一個字符串,例如:'3 * 2',並調用java(通過exec())來計算這個值,但即使我用'\ *'替換'* ',它仍然沒有工作。當我將這些參數傳遞給命令行時,它適用於'\ *',而不是'*'。我怎樣才能輸入星號,以便命令行可以理解?我不想改變我的程序與''一起工作到java文件中的其他位置。我正在使用Ubuntu。如何輸入星號到命令行中以便理解?
-1
A
回答
1
0
這是一個非常混亂的問題。我不得不猜測「通過命令行傳遞了這些參數」這樣的事情,這些參數可能意味着沒有任何意義。這個答案是基於猜測你的問題在英文中的含義。
似乎你可以從命令行調用你的Java程序,只要你轉義的shell的元字符,否則爲你滿意。這是正常的和預期的,而且每個使用shell運行其命令行語法中包含字符(如*
)的程序的人都應該很熟悉。
您的實際問題似乎是您無法在PHP腳本中調用此相同的Java程序,因爲您將'3 * 2'
(帶引號)作爲提供給exec()
的單個命令行參數傳遞給它。再次,這裏的問題很可能是另一個衆所周知的問題。當使用命令行3 \* 2
(不帶引號,通知)通過shell運行程序時,shell實際上將其拆分爲三個命令行參數,即3
,*
和2
,它們是shell實際提供的參數到底層的execve()
系統調用。所以這就是你的Java程序所期待的。您需要確保這是從PHP調用程序時發生的情況。
相關問題
- 1. 如何批量寫入命令行輸入到命令中?
- 2. 如何在腳本中包含交互輸入以便從命令行運行
- 3. 星號:找不到命令
- 4. 如何將命令行輸入到fabfile?
- 5. 如何在groovy中的命令行參數中使用星號(*)?
- 6. Python - 如何從命令行輸入並將其輸入到socket.gethostbyaddr(「」)
- 7. 運行星號命令ON星號啓動
- 8. 如何調試命令行輸入WebStorm
- 9. 如何在python的命令行輸入#
- 10. 我如何執行命令誰輸入
- 11. Windows批處理文件命令行參數中的星號(*)得到擴展
- 12. 打開另一個命令行解釋器並輸入命令
- 13. 如何將腳本中的輸入傳遞到命令行
- 14. 如何刪除輸入到MATLAB命令行中的字符
- 15. 我應該如何解析命令行風格輸入?
- 16. 如何正確解開命令行輸入?
- 17. 如何輸入adb命令?
- 18. npm命令行 - 如何在啓動後輸入新命令
- 19. VTK命令行輸入
- 20. Perl命令行輸入?
- 21. eclipse cdt命令行輸入
- 22. Java命令行輸入
- 23. MyGeneration命令行輸入
- 24. 管道輸入命令行到bash解釋器
- 25. 基於來自命令提示符的輸入打印星星
- 26. 通過命令行使用星號到Click2Dial
- 27. 操縱qt中的命令行輸入信號和插槽
- 28. 如何確認命令行中的多行輸入?
- 29. 如何在JScript中使用命令行進行輸入?
- 30. 如何使用vision.GeometricShearer命令,以便執行上下剪切?
'\ *'怎麼了? – Jordan 2011-03-03 03:32:42
字符串變成'3 \\ * 2',但java拋出錯誤:線程「main」中的異常java.lang.NumberFormatException:對於輸入字符串:「。」 – Silentbang 2011-03-03 03:48:41
surly java有一個剝離斜線的功能 – 2011-03-03 03:58:25