我正在嘗試使用 cygwin 在我的 Windows 電腦上執行 Linux 腳本。
我已經閱讀並嘗試了以下解決方案Cygwin 中沒有「sudo」指令,沒有任何成功。
我有一個在常規 Linux 環境中使用 sudo 的腳本。但是當我在 cygwin 上運行腳本時,它會拋出以下錯誤訊息:
project_common.sh: line 604: sudo: command not found
我知道 cygwin 沒有 sudo,前面提到的引文問題說要用:
>#!/usr/bin/bash
>"$@"
我嘗試在運行腳本之前執行該命令。並將命令嵌入到腳本中。沒人幫忙。所以不確定我錯過了什麼。
答案1
刪除sudo
檔案中的所有 並以管理員身份執行腳本。
話雖這麼說,Linux 的 Administrator 理念root
和 Windows 的 Administrator 理念並不完全對應。您可能仍然存在需要手動修正或透過進一步修改腳本來修正的權限問題,尤其是在 Windows Vista/7 上。
順便說一下,所引用的問題希望你提出
>#!/usr/bin/bash
>"$@"
在名為 的檔案中sudo
,為其授予可執行權限chmod
,然後將其放入您的某個目錄中$PATH
,例如/sbin
.除了執行您作為命令提供的參數之外,生成的檔案不會執行任何操作。這個想法是製作一個不執行任何操作的“假”sudo。您也可以sudo
從文件中刪除 。
答案2
嘗試這個:
#!/usr/bin/env bash
cygstart --action=runas "$@"
它的工作原理與 sudo 類似,缺點是您需要手動確認 UAC 對話框。這個腳本是我的一部分點倉庫。