簡體   English   中英

如何在 Windows 中運行 zookeeper.sh 文件

[英]How to run zookeeper.sh file in windows

我正在關注教程,我必須在其中運行此命令才能啟動 zookeeper 服務器。

./bin/zookeeper-server-start.sh config/zookeeper.properties

但問題是這個命令不能正常工作。 我發現 .sh 文件是需要 cygwin 的 bash 文件。 我已經安裝了它,然后像這樣運行命令

C:\cygwin64\bin\bash.exe ./bin/zookeeper-server-start.sh config/zookeeper.properties

但它顯示:

在此處輸入圖片說明

我可以確認在 bin 目錄中文件存在。 我在做什么錯?

這是我運行命令的目錄快照: 在此處輸入圖片說明

注意:我已經成功測試了bin/windows zookeeper bat 文件,但我想通過 .sh 文件運行它作為我正在使用的 kafka 安全教程

從您的屏幕截圖中,我得出結論,您正在使用 Cygwin。 因此,請將cygwin標簽添加到您的問題中。

從錯誤信息中可以看出,bash沒有找到命令dirname ,所以假設你的Cygwin安裝沒有損壞,我假設PATH設置不正確; 在您的設置中,dirname.exe 應該在 C:/cygwin64/bin 中(請驗證這一點)。

您對 bash.exe 的使用有點不尋常,因為您直接從 Windows cmd 提示符運行它。 更常見的方法是從“Cygwin 終端”使用它,在安裝 Cygwin 時,您會創建一個 Windows 鏈接,或者使用另一個合適的終端程序; 我正在使用例如 mintty 來完成這項任務(也可以通過 Cygwin 安裝程序獲得)。

話雖如此,它可以運行在你正在做的方式bash.exe,但你必須確保,至少路徑是正確設置。 這樣做的一種可能性是將 C:\\cygwin64\\bin 添加到您的 Windows PATH,但這有一個缺點,即某些命令在 Windows 世界和 Cygwin 中具有相同的名稱,盡管它們用於完全不同的目的,並且這遲早會咬你的。 另一個問題是,在某些時候,除了 PATH 之外,您還將依賴其他 bash 特定設置。

實現目標的更好方法是 IMO 確保系統范圍的 bash 初始化文件來自 bash。 如果我必須從 Windows cmd 提示符運行腳本,我會通過

C:\cygwin64\bin\bash.exe --login YOURSCRIPT

這將在運行 YOURSCRIPT 之前讀取文件(在您的設置中) C:\\cygwin64\\etc\\profile ,因此您可以通過查看此文件來檢查 PATH 是否正確設置在那里。 在默認安裝中,應該是這種情況。

讀取此文件后,它將嘗試讀取 Cygwin 主目錄中的.bash_profile文件,因此,如果您需要為(非交互式)bash 腳本進行其他設置,請創建此文件並將您的設置放在那里。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM