ChromebookのシェルでC++コードをコンパイルすると、エラーbash: ./a.out: Permission denied
が発生します。これは、Sudo:Sudo: unable to execute ./a.out: Permission denied
で実行した場合でも発生します。なぜこれが起こるのですか?
問題は、おそらくセキュリティ上の理由から、ファイルシステムがnoexec
フラグでマウントされたことでした。これを回避するには、
Sudo mount -o remount,rw -o exec PATH/TO/YOUR/FILE
を実行します。ここで、PATH/TO/YOUR/FILEは、ファイルを実行しようとしているディレクトリです。mount: /home/chronos/user/Downloads not mounted or bad option
のようなエラーが発生した場合は、コマンドから最後のディレクトリ(この場合は/ Downloads)を削除して、再試行してください。それが機能するまで削除し続けます。When remounting eCryptfs, you need to pass the mount utility the -i parameter to avoid calling the mount helper
のようなエラーが発生した場合は、Sudo mount -o remount,rw -io exec PATH/TO/YOUR/
を実行してください。これで、ファイルを実行できるようになります。