質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.53%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

コマンド

コマンドとは特定のタスクを行う為に、コンピュータープログラムへ提示する指示文です。多くの場合、コマンドはShellやcmdようなコマンドラインインターフェイスに対する指示文を指します。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

Q&A

解決済

1回答

6954閲覧

permission deniedになるからchmodコマンドで権限を付与しようとしてもエラーが出る

mt-0509

総合スコア9

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

コマンド

コマンドとは特定のタスクを行う為に、コンピュータープログラムへ提示する指示文です。多くの場合、コマンドはShellやcmdようなコマンドラインインターフェイスに対する指示文を指します。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

0グッド

1クリップ

投稿2020/09/06 02:23

編集2020/09/06 03:11

前提・実現したいこと

実現したいことは、./h2.shコマンドを実行し、H2 Consoleを起動させることです。``

H2 Datebaseを使うためにサイトからダウンロードを行い、デスクトップに保存しました。
ターミナルを起動し、cd desktop/h2/binを実行し、./h2.shを実行すると「zsh: permission denied: ./h2.sh」とエラーが出てしまいます。

このエラーを解決し、./h2.shコマンドを実行する方法を教えてください。

また、どうしてこのようなことになるのか理由も合わせて回答していただけると幸いです。

直接的な解決策を提示できない方であっても、ヒントや解決の糸口になりそうなことがある場合にはコメントしていただけると助かります。
よろしくお願い致します。

発生している問題・エラーメッセージ

zsh: permission denied: ./h2.sh chmod: Unable to change file mode on h2.sh: Operation not permitted

該当のソースコード

実行しようとしているshスクリプト

#!/bin/sh dir=$(dirname "$0") java -cp "$dir/h2-1.4.200.jar:$H2DRIVERS:$CLASSPATH" org.h2.tools.Console "$@"

試したこと

permission deniedが出たので、権限を確認したところ「-rw-rw-r--」となっていたので、実行の権限を付与しなければならないと推測し、chmod a+x h2.shを実行しました。
しかし、今度は「chmod: Unable to change file mode on h2.sh: Operation not permitted」というエラーが出てきました。
そこで、sudo chmod a+x h2.shを実行しましたが、パスワードの入力を求められた後に再度「chmod: Unable to change file mode on h2.sh: Operation not permitted」が出てきました。

補足情報(FW/ツールのバージョンなど)

ダウンロードしたH2 Database Engineはバージョン1.4.200(2019-10-14)の全てのプラットフォームに対応したものです。

参考にしたサイトH2 Databaseのインストール手順(組み込みモード)<macOS向け>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

technocore

2020/09/06 02:31

>権限を付与しなければならないと推測し 推測するのではなく、実際にファイルやディレクトの権限・所有者を確認してください。 思いつきで適当に作業しても解決しないです。 それからshスクリプト内の処理内容も確認しましょう。
mt-0509

2020/09/06 03:24 編集

すいません、説明の仕方が不適切でした。 ご指摘とアドバイスありがとうございます。
Daregada

2020/09/06 03:05

ダウンロードしたzipファイルを展開するときに、デスクトップ以外のフォルダー、たとえばホームフォルダーそのものとか、そこに自分で作ったサブフォルダーの中とかに展開し、そこにできたh2.shを実行してみてください。
mt-0509

2020/09/06 03:24

コメントしていただきありがとうございます。 教えて頂いた方法を試してみましたが、「zsh: permission denied: ./h2.sh 」と出てしまいます。
Daregada

2020/09/06 03:28

ええと、そのディレクトリでh2.shにchmodできるかどうかが知りたいのです。
mt-0509

2020/09/06 05:49

chmodできて、H2コンソールを行うことができました! 本当にありがとうございました! 原因とかはお分かりになったりしますか? もしよろしければ教えていただきたいです。
Daregada

2020/09/06 06:10

おそらく、~/Desktop以下のフォルダーがセキュリティ設定で保護されているためではないかと思いますが、Macを所持していないので、説明は詳しい方に譲ります。
mt-0509

2020/09/06 07:58 編集

そういうことでしたか。 親切に教えていただきありがとうございました! この質問を解決済にするため、Daregadaさんに教えていただいた方法を解決方法の欄に記載させていただきますね。
guest

回答1

0

自己解決

解決策はダウンロードしたファイルを展開するときに、デスクトップ以外のフォルダーで展開する。
デスクトップ以外のフォルダーとは具体的にいうと、ホームフォルダーそのものやホームフォルダーの中に自分で作ったサブフォルダーのことです。
デスクトップ以外のフォルダーであれば、chmodコマンドを使うことができるので、chmod u+x h2.shを行えば./h2.shを行うことができるようになります。

投稿2020/09/06 08:07

mt-0509

総合スコア9

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

technocore

2020/09/06 09:10

デスクトップで実行してみました。 ~/Desktop $ touch test.sh ~/Desktop $ chmod u+x test.sh ~/Desktop $ ./test.sh
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.53%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

同じタグがついた質問を見る

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

コマンド

コマンドとは特定のタスクを行う為に、コンピュータープログラムへ提示する指示文です。多くの場合、コマンドはShellやcmdようなコマンドラインインターフェイスに対する指示文を指します。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます