.command文件的完整特权,但是它说我没有适当的特权


22

我有一个我经常需要在终端中运行的命令(用于应用程序代码签名)。通常,我启动终端,按向上箭头,直到找到所需的命令,然后按Enter。

我已经决定,一种更可持续的解决方案可能是创建一个文件,只需双击即可运行Terminal命令。在搜索中,我发现可以创建一个.command扩展名为包含要运行的命令的文本文件。

但是,当我双击此文件时,终端打开,并且出现以下错误:

由于您没有适当的访问权限,因此无法执行文件“ Sign Code.command”。

要查看或更改访问权限,请在Finder中选择文件,然后选择“文件”>“获取信息”。

问题是,当我按照指示转到“获取信息”窗口并查看“权限”时,它说我的用户具有读写访问权限(唯一的其他选项是“读取”)。换句话说,我拥有最高权限,但仍然无法打开此文件。

我该怎么解决?

Answers:


34

您需要在文件上设置“执行”以使其运行:

chmod u+x /path/to/file.command

u是文件的所有者,+x添加“执行”,因此u+x使文件的所有者能够执行它

…然后您将来可以双击运行它。


1
因此,错误消息是错误的,我无法通过转到显示的“获取信息”窗口来修复权限?使用Terminal修复它没有问题,我很惊讶消息可能告诉我做错了什么。
Thunderforge 2013年

@Thunderforge的确,据我所知是错误的:)我很确定Finder无法做到这一点-您必须使用Terminal或其他脚本来做到这一点。
grg

+1解释什么u+x意思。我一直想知道。
吕克(Luc)2015年

1
@Thunderforge是的,令人震惊的是Apple发出了一条无用的错误消息...谢天谢地,他们根本没有错误消息,甚至基本上是正确的。他们的M / O通常只是有些事情失败而没有解释原因,或者您应该期望发生任何事情。这就是为什么外行说苹果设备永远不会出错的原因!
BuvinJ

你是个天才。过去,我一直在拉着我的头发,完全忘记了这一u部分……谢谢!
Zizouz212 '17
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.