Lea la respuesta completa antes de intentar ejecutar con sudo
Intenta correr sudo /dvtcolorconvert.rb ~/Themes/ObsidianCode.xccolortheme
El comando sudo ejecuta los comandos que le siguen con privilegios de 'superusuario' o 'root'. Esto debería permitirle ejecutar casi cualquier cosa desde la línea de comandos. Dicho esto, ¡NO HAGA ESTO! Si está ejecutando un script en su computadora y no lo necesita para acceder a los componentes centrales de su sistema operativo (supongo que no es así, ya que está invocando el script en algo dentro de su directorio de inicio (~ /)), entonces debería estar ejecutándose desde su directorio de inicio, es decir:
~/dvtcolorconvert.rb ~/Themes/ObsidianCode.xccolortheme
Muévalo a ~ / o un subdirectorio y ejecútelo desde allí. Nunca debería tener problemas de permisos allí y no habrá riesgo de que acceda o modifique algo crítico para su sistema operativo.
Si aún tiene problemas, puede verificar los permisos en el archivo ejecutándolo ls -l
en el mismo directorio que el script ruby. Obtendrá algo como esto:
$ 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
Notará que el archivo readme.txt dice -rw-r--r--
a la izquierda. Esto muestra los permisos para ese archivo. Los 9 caracteres de la derecha se pueden dividir en grupos de 3 caracteres de 'rwx' (leer, escribir, ejecutar). Si quiero agregar derechos de ejecución a este archivo, lo ejecutaría chmod 755 readme.txt
y esa parte de permisos se convertiría en rwxr-xr-x
. Ahora puedo ejecutar este archivo si quiero ejecutando ./readme.txt
(./ le dice a bash que busque en el directorio actual el comando deseado en lugar de buscar la variable $ PATH).
schluchc alude a mirar la página de manual de chmod, haga esto ejecutando man chmod
. Esta es la mejor manera de obtener documentación sobre un comando dado,man <command>