拒绝build.sh文件的权限


Answers:


118

看来您需要签入build.sh具有执行权限的文件。请在您自己的计算机上尝试以下操作:

git update-index --add --chmod=+x build.sh
git commit -m 'Make build.sh executable'
git push

5
自2007年以来,我一直在使用git,这是我第一次看到此解决方案。拍手慢
深度元素

1
普通老人chmod +x build.sh && git add build.sh怎么了?
Mateen Ulhaq,

3
@MateenUlhaq即使在使用git bash时也无法在Windows上运行。因此,您必须将其添加到git-history中,然后调整索引以保存权限。
alsami '19

1
git commit运行之前,我运行git status,它显示与被跟踪和未跟踪相同的文件。我已提交并很好,但是下次我git add编辑该文件时,权限丢失了。
4月Polubiec

哇。来自Windows世界,但在Azure中的Ubuntu上构建.NET Core时非常有用。
Jedidja '20

53

您可以通过将以下行添加到.travis.yml来授予所需的权限

before_install:
  - chmod +x build.sh

11

使用bash运行脚本

另一个选择是使用bash运行脚本,这将不需要修改文件的权限。

bash path/to/file.sh

或者:

sh path/to/file.sh

注意

在这种情况下,您不是在 执行脚本本身,而是在执行 bashsh随后运行脚本。因此,脚本不需要是可执行的

说得通?


是否有理由要运行bash而不是脚本?有一种方法有收益吗?
乔什(Josh)

这是一种无需修改文件权限的有用方法。(在我的Mac上,我需要sudo才能更改文件权限。在travis-ci上,您不能始终使用sudo。我需要一种方法来同时运行两种测试。而且,似乎没有在本地手动更改文件权限就像最好的方式...)@Josh
Jesse van der Pluijm

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.