And*_*_24 62 macos shell terminal
我是不熟悉终端命令的mac新手,我把dvtcolorconvert.rb
文件放在我的卷的根目录下,这个ruby脚本可以将xcode 3主题转换为xcode 4主题格式,即xxxxxxxx.dvtcolortheme
格式.
然后/dvtcolorconvert.rb ~/Themes/ObsidianCode.xccolortheme
在终端上运行脚本,但它总是提示" 权限被拒绝 ".
这有什么问题?有人可以帮我解决这个问题吗?谢谢.
sch*_*chc 187
你有权给自己执行脚本的权利吗?
作为超级用户的以下命令将为您执行此操作:
sudo chmod 755 'filename'
有关详细信息,请阅读chmod的手册页.
sea*_*n_m 62
请在尝试运行之前阅读完整的答案 sudo
试试跑步 sudo /dvtcolorconvert.rb ~/Themes/ObsidianCode.xccolortheme
sudo命令使用"超级用户"或"root"权限执行后面的命令.这应该允许您从命令行执行几乎任何操作.那就是说,不要这样做!如果您在计算机上运行脚本而不需要它来访问操作系统的核心组件(我猜你不是因为你在主目录中的某些东西上调用脚本(〜/)),然后它应该从您的主目录运行,即:
~/dvtcolorconvert.rb ~/Themes/ObsidianCode.xccolortheme
将其移动到〜/或子目录并从那里执行.您不应该在那里遇到权限问题,并且不会有访问或修改对您的操作系统至关重要的任何内容的风险.
如果您仍然遇到问题,可以通过ls -l
在与ruby脚本相同的目录中运行来检查文件的权限.你会得到这样的东西:
$ 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
Run Code Online (Sandbox Code Playgroud)
您会注意到readme.txt文件-rw-r--r--
在左侧显示.这显示了该文件的权限.右边的9个字符可以分成3个字符"rwx"(读,写,执行)的组.如果我想为此文件添加执行权限,我将执行,chmod 755 readme.txt
并且该权限部分将成为rwxr-xr-x
.我现在可以执行此文件,如果我想通过运行./readme.txt
(./告诉bash在当前目录中查找预期的命令而不是搜索$ PATH变量).
schluchc暗示要查看chmod的手册页,通过运行来执行此操作man chmod
.这是获取给定命令的文档的最佳方式,man <command>
就我而言,我在shebang中犯了一个愚蠢的错字。
因此,如果其他手指粗的人偶然发现了这个问题:
哎呀: #!/usr/local/bin ruby
我想写: #!/usr/bin/env ruby
ZSH 给出的模糊错误让我走上了错误的道路:
ZSH: zsh: permission denied: ./foo.rb
重击: bash: ./foo.rb: /usr/local/bin: bad interpreter: Permission denied