【发布时间】:2019-01-16 16:43:24
【问题描述】:
我遇到了一个我研究了好几天的问题。放弃后,我决定在这里问。
我正在尝试修复权限被拒绝的 CI 异常。尝试运行 .sh 脚本时会出现以下错误。
+ find . -name '*.sh' -type f -exec chmod +x '{}' ';'
+ scripts/run_ci.py --push-merge
/tmp/hudson1523957012397738349.sh: line 3: scripts/run_ci.py: Permission denied
Build step 'Execute shell' marked build as failure
我尝试在 CI 的“Execute Shell”中添加“chmod”命令,但没有成功。下面就是我写它的方式。
find . -name "*.sh" -exec chmod +x {} \;
然而,在错误日志中,括号和分号是用 ' ' 执行的,并且反冲完全消失了。
附加说明:我也尝试在命令中添加“”,但仍然收到如下错误:
find . -name "*.sh" -exec chmod +x "{}" "\;"
我的问题是:
会不会是 '' 符号导致命令失败?
如果是这样,如何确保命令中没有添加''?
如果没有,我该如何解决这个 CI 权限问题?
评论:
由于某种原因,我无法在此处发表评论,但稍后我会在有能力的时候投票支持您的 cmets,但感谢您指出 .py 没有更改权限并且列表目录的事情也是如此.
我非常感谢它,因为我已经为此苦苦挣扎了好几天。 TT.TT
【问题讨论】:
-
在游览脚本中添加一些“ls”和其他信息命令,以便您可以看到其中发生了什么。 “ls -al”开始。如果您正在生成命令,则回显相同的字符串。
-
报错说
run_ci.py的权限不对。您的find命令仅将执行权限添加到.sh文件,而不是.py文件。