で実行する前に、回答全体をお読みくださいsudo
実行してみてくださいsudo /dvtcolorconvert.rb ~/Themes/ObsidianCode.xccolortheme
sudo コマンドは、それに続くコマンドを「スーパーユーザー」または「ルート」権限で実行します。これにより、コマンドラインからほとんど何でも実行できるようになります。そうは言っても、これをしないでください!コンピューターでスクリプトを実行していて、オペレーティング システムのコア コンポーネントにアクセスする必要がない場合 (ホーム ディレクトリ (~/) 内の何かでスクリプトを呼び出しているため、そうではないと思います)、次に、ホームディレクトリから実行する必要があります。つまり、次のようになります。
~/dvtcolorconvert.rb ~/Themes/ObsidianCode.xccolortheme
~/ またはサブディレクトリに移動して、そこから実行します。そこにアクセス許可の問題が発生することは決してなく、OS にとって重要なものにアクセスしたり変更したりするリスクはありません。
それでも問題が解決しない場合は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
readme.txt ファイル-rw-r--r--
の左側にあることがわかります。これは、そのファイルのアクセス許可を示しています。右から 9 文字は、「rwx」(読み取り、書き込み、実行) の 3 文字のグループに分割できます。このファイルに実行権限を追加したい場合は、実行するchmod 755 readme.txt
と、その権限部分がrwxr-xr-x
. 必要に応じて、実行することでこのファイルを実行できるようになりました./readme.txt
(./ は、$PATH 変数を検索するのではなく、目的のコマンドを現在のディレクトリで検索するように bash に指示します)。
schluchcは、chmod の man ページを見ることをほのめかしています。これを実行するには、man chmod
. これは、特定のコマンドに関するドキュメントを取得する最良の方法です。man <command>