Veuillez lire l'intégralité de la réponse avant d'essayer d'exécuter avec sudo
Essayez de courir sudo /dvtcolorconvert.rb ~/Themes/ObsidianCode.xccolortheme
La commande sudo exécute les commandes qui la suivent avec les privilèges de "superutilisateur" ou de "racine". Cela devrait vous permettre d'exécuter presque tout ce que vous voulez à partir de la ligne de commande. Cela dit, NE FAITES PAS ÇA ! Si vous exécutez un script sur votre ordinateur et que vous n'en avez pas besoin pour accéder aux composants de base de votre système d'exploitation (je suppose que ce n'est pas le cas puisque vous invoquez le script sur quelque chose à l'intérieur de votre répertoire personnel (~/)), alors il devrait être exécuté à partir de votre répertoire personnel, c'est à dire :
~/dvtcolorconvert.rb ~/Themes/ObsidianCode.xccolortheme
Déplacez-le dans ~/ ou un sous-répertoire et exécutez-le à partir de là. Vous ne devriez jamais avoir de problèmes de permission à cet endroit et il n'y aura pas de risque qu'il accède ou modifie quelque chose de critique pour votre système d'exploitation.
Si vous avez toujours des problèmes, vous pouvez vérifier les permissions sur le fichier en exécutant ls -l
tout en étant dans le même répertoire que le ruby script. Vous obtiendrez quelque chose comme ceci :
$ 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
Vous remarquerez que le fichier readme.txt dit que -rw-r--r--
à gauche. Cela montre les permissions pour ce fichier. Les 9 caractères de droite peuvent être divisés en groupes de 3 caractères 'rwx' (read, write, execute). Si je veux ajouter des droits d'exécution à ce fichier, je dois exécuter la commande suivante chmod 755 readme.txt
et que la partie des permissions deviendrait rwxr-xr-x
. Je peux maintenant exécuter ce fichier si je le souhaite en exécutant ./readme.txt
(./ indique au bash de rechercher la commande voulue dans le répertoire courant plutôt que dans la variable $PATH).
schluchc fait allusion à la consultation de la page de manuel de chmod, faites-le en exécutant man chmod
. C'est le meilleur moyen d'obtenir de la documentation sur une commande donnée, man <command>