Przeczytaj całą odpowiedź, zanim zaczniesz biegać sudo
Spróbuj biegać sudo /dvtcolorconvert.rb ~/Themes/ObsidianCode.xccolortheme
Polecenie sudo wykonuje polecenia, które następują po nim z uprawnieniami „superużytkownika” lub „roota”. Powinno to umożliwić wykonanie prawie wszystkiego z wiersza poleceń. To powiedziawszy, NIE RÓB TEGO! Jeśli uruchamiasz skrypt na swoim komputerze i nie potrzebujesz go, aby uzyskać dostęp do podstawowych komponentów systemu operacyjnego (zgaduję, że nie jesteś, ponieważ wywołujesz skrypt na czymś w twoim katalogu domowym (~ /)), to powinien być uruchomiony z twojego katalogu domowego, tj .:
~/dvtcolorconvert.rb ~/Themes/ObsidianCode.xccolortheme
Przenieś go do ~ / lub podkatalogu i wykonaj stamtąd. Nigdy nie powinieneś mieć tam problemów z uprawnieniami i nie będzie ryzyka, że uzyska dostęp lub zmodyfikuje coś krytycznego dla twojego systemu operacyjnego.
Jeśli nadal masz problemy, możesz sprawdzić uprawnienia do pliku, uruchamiając go ls -l
w tym samym katalogu, co skrypt ruby. Otrzymasz coś takiego:
$ 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
Zauważysz, że plik readme.txt mówi -rw-r--r--
po lewej stronie. Pokazuje uprawnienia do tego pliku. 9 znaków z prawej strony można podzielić na grupy po 3 znaki „rwx” (odczyt, zapis, wykonanie). Jeśli chcę dodać prawa wykonywania do tego pliku, wykonałbym chmod 755 readme.txt
i ta część uprawnień stałaby się rwxr-xr-x
. Mogę teraz uruchomić ten plik, jeśli chcę, uruchamiając ./readme.txt
(./ mówi bashowi, aby szukał w bieżącym katalogu żądanego polecenia, zamiast przeszukiwać zmienną $ PATH).
schluchc nawiązuje do przeglądania strony podręcznika man dla chmod, zrób to uruchamiając man chmod
. To najlepszy sposób na uzyskanie dokumentacji dotyczącej danego polecenia,man <command>