请尝试使用sudo
运行之前读取整个答案尝试运行sudo /dvtcolorconvert.rb ~/Themes/ObsidianCode.xccolortheme
sudo命令执行它后面有“超级”或“root”权限的命令。这应该允许你从命令行执行几乎任何东西。这就是说,不要这样做!如果你在你的计算机上运行一个脚本,并且不需要它来访问你的操作系统的核心组件(我猜你并不是因为你正在调用你的主目录内的某个脚本(〜/)) ,那么就应该从你的主目录中运行,即:
~/dvtcolorconvert.rb ~/Themes/ObsidianCode.xccolortheme
它移动到〜/或子目录,并从那里执行。你永远不应该有权限问题,那里不会有访问或修改任何关键操作系统的风险。
如果仍有问题,您可以通过在与ruby脚本相同的目录中运行ls -l
来检查文件的权限。你会得到这样的东西:
$ ls -l
total 13
drwxr-xr-x 4 or019268 Administ 12288 Apr 10 18:14 TestWizard
drwxr-xr-x 4 or019268 Administ 4096 Aug 27 12:41 Wizard.Controls
drwxr-xr-x 5 or019268 Administ 8192 Sep 5 00:03 Wizard.UI
-rw-r--r-- 1 or019268 Administ 1375 Sep 5 00:03 readme.txt
你会注意到自述。txt文件在左侧显示-rw-r--r--
。这显示了该文件的权限。右边的9个字符可以分成'rwx'(读,写,执行)3个字符组。如果我想为此文件添加执行权限,我将执行chmod 755 readme.txt
,并且权限部分将变为rwxr-xr-x
。我现在可以执行这个文件,如果我想通过运行./readme.txt
(./告诉bash在当前目录中寻找想要的命令而不是搜索$ PATH变量)。
schluchc暗指查看chmod的手册页,通过运行man chmod
来执行此操作。这是获得给定命令文档的最好方法,man <command>
谢谢!但主目录(〜/)在哪里?这意味着桌面? –
shell可以用'echo〜',通常是'/ Users/$ USER'告诉你。桌面只是一个下面的目录。 Unix GUI将主目录从视图中隐藏起来,但它仍然存在。 –
你可以通过运行'echo $ HOME'来获得你的主目录的路径。它可能看起来像/ Users/或可能/ Users/ –