无法通过GitHub在Jenkins中运行Bash脚本的问题求助
问题解决:Jenkins执行chmod命令报错"chmod: -R: No such file or directory"
错误原因
你写的chmod +x -R ${env.WORKSPACE}/myscript.sh命令参数顺序错误。-R是chmod的递归处理选项(仅针对目录生效),必须放在权限参数(+x)和目标路径之前。当你把-R放在文件名后面时,chmod会将它识别为要修改权限的文件,自然找不到这个文件,所以触发报错。
另外,你要修改的是单个脚本文件myscript.sh,完全不需要-R选项,这个选项仅在批量处理目录下的文件时才有用。
修正后的Jenkins阶段代码
stage('Running script file') { steps { sh "chmod +x ${env.WORKSPACE}/myscript.sh" sh './myscript.sh' } }
或者用更简洁的相对路径写法:
stage('Running script file') { steps { sh 'chmod +x ./myscript.sh' sh './myscript.sh' } }
补充说明
- 无需重复执行两次chmod,一次操作就足够给脚本添加执行权限
- 如果后续需要批量处理整个目录下的脚本权限,正确命令格式为
chmod -R +x 目标目录路径,确保-R选项放在最前面
内容的提问来源于stack exchange,提问作者bizimunda
相关产品推荐
相关产品推荐

