簡體   English   中英

BASH 腳本在權限被拒絕的情況下遇到錯誤,但是當直接在 bash shell 中運行命令時,它會被執行

[英]Running into error with BASH script with permission denied, but when running the command directly in bash shell its getting executed

當直接在 bash shell 中運行以下命令時,我能夠得到 output。 但是當我通過 BASH 腳本傳遞它時,訪問被拒絕。 任何幫助,將不勝感激

$ jq  -r '.id' Repooutput.txt
dad04f6d-4e06-4420-b0bc-cb2dcfee2dcf

錯誤:

$ sh test.sh
test.sh: line 3: /c/ProgramData/chocolatey/bin/jq: Permission denied

我認為原因是當使用sh test.sh執行腳本時,我們要求 POSIX 解釋器(shell)執行腳本上的內容,而使用./test.sh執行腳本時,我們要求腳本“執行自己”。

對於后者,該文件需要具有execution權限,您可以添加

chmod +x test.sh

問題在於 BASH 文件夾路徑中 JQ 的命名約定,因此腳本無法選擇命令。 重命名 BASH 文件夾中的 JQ 解決了這個問題

暫無
暫無

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

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