Ответ 1
Пожалуйста, прочитайте весь ответ, прежде чем пытаться работать с sudo
Попробуйте запустить sudo /dvtcolorconvert.rb ~/Themes/ObsidianCode.xccolortheme
Команда sudo выполняет команды, которые следуют за ней с привилегиями "суперпользователя" или "root". Это должно позволить вам выполнить почти что угодно из командной строки. Тем не менее, НЕ ДЕЛАЙТЕ ЭТО! Если вы используете script на своем компьютере и не нуждаетесь в нем для доступа к основным компонентам вашей операционной системы (я предполагаю, что вы не поскольку вы вызываете script что-то внутри своего домашнего каталога (~/)), тогда он должен быть запущен из вашего домашнего каталога, то есть:
~/dvtcolorconvert.rb ~/Themes/ObsidianCode.xccolortheme
Переместите его в ~/или подкаталог и выполните оттуда. У вас никогда не должно быть проблем с правами доступа, и там не будет риска получить или изменить что-либо важное для вашей ОС.
Если у вас все еще есть проблемы, вы можете проверить разрешения на файл, запустив ls -l
в том же каталоге, что и ruby script. Вы получите что-то вроде этого:
$ 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
Вы заметите, что файл readme.txt говорит -rw-r--r--
слева. Это показывает разрешения для этого файла. 9 символов справа могут быть разделены на группы из 3-х символов "rwx" (чтение, запись, выполнение). Если я хочу добавить права на выполнение этого файла, я бы выполнил chmod 755 readme.txt
и эта часть разрешений стала бы rwxr-xr-x
. Теперь я могу выполнить этот файл, если захочу, запустив ./readme.txt
(./говорит bash, чтобы искать в текущем каталоге предназначенную команду, а не искать переменную $PATH).
schluchc ссылается на man-страницу для chmod, сделайте это, запустив man chmod
. Это лучший способ получить документацию по заданной команде, man <command>