で実行する前に、回答全体をお読みください 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 chmod
ます。これを実行するには、を実行します。これは、特定のコマンドに関するドキュメントを取得するための最良の方法です。man <command>