当我在编辑器中直接覆盖可执行文件的一行并将其推送到git时,我在Jenkins中有一个成功的工作。但是,我正在尝试自动化该过程并从bash覆盖文件中的行,但是当Jenkins运行该作业时,它会失败并显示Permission denied
。为什么呢?
这就是我覆盖文件中的一行:
# Point to ruby executable from orch and gli files
sed '1d' dist/bin/orch > tmpfile; mv tmpfile dist/bin/orch
sed '1d' dist/bin/gli > tmpfile; mv tmpfile dist/bin/gli
echo -e "#!/usr/bin/env ruby\n$(cat dist/bin/orch)" > dist/bin/orch
echo -e "#!/usr/bin/env ruby\n$(cat dist/bin/gli)" > dist/bin/gli
在编辑器中编写并从bash写入的文件的权限看起来完全相同。
-rwxr-xr-x 1 root root 527 Jun 6 16:47 orch