.shスクリプトの実行時に許可が拒否されました


71
./geany_run_script.sh: 5: ./geany_run_script.sh: ./Area_circumference: Permission denied

program exited with code: 126。この問題は、コードを実行しようとすると常に発生します。解決策は何ですか?


1
Permission deniedエラーは、そのファイルにアクセスするための十分な権限がない場合にのみ発生します。
アビナッシュラジ14年

私は、権限を変更するにはどうすればよい
wkhwilo

私は私のショットの例をお願いしていることはどこにすればいい
wkhwilo

そうすると、このchmod:「geany_run_script.sh」にアクセスできません:そのようなファイルやディレクトリはありません。ターミナルから実行する必要がありますか?
wkhwilo 14年

回答:


118

ファイルの許可(および所有権)の変更について説明するリンクを次に示します。

これらをスキップしたい場合(もちろん)、ユーザーのホームディレクトリにディレクトリ/フォルダを作成し、Cそこでプログラム(または他の)で作業することができます。


ターミナルを開いて(Ctrl+ Alt+を押すTcd、ターゲットディレクトリに移動できます。

cd /path/to/target

ファイルに「the_file_name」実行許可を与えるには(ファイルシステムがRW権限を許可している場合):

chmod +x the_file_name

私は権限に任意の例を変更するにはどうすればよい
wkhwilo

問題はどうすればできますか?私は最近Windowsから切り替えた新しいUbuntuユーザーです。
wkhwilo 14年

..作業ディレクトリは何ですか。ソースコードファイルの場所は何ですか?..Windows CLIの使用経験はありますか?
正確な14年

@それが助け、より多くのを依頼することを躊躇しないでください場合wkhwilo-012、参照...
精密

@ wkhwilo-012、あなたの実行可能ファイルをコピーしてくださいArea_circumference...あなたの質問の体を更新するために、(ファイルパスが貼り付けられます)、それを貼り付ける
精密

20

実行権限のみを付与する必要があります。これに従ってください:

    chmod +x filename.sh
    ./filename.sh

新しいスクリプトファイルを作成すると、デフォルトで読み取りおよび書き込み権限が付与されます。しかし、それらを実行したい場合は、上記のように実行許可を与える必要があります。


2

CTRL+ ALT+を押すTか、グラフィカル環境の適切なショートカット(TerminalまたはなどxTerm)を使用して、ターミナルアプリケーションを開きます。
画面に表示される均一なウィンドウでは、点滅する文字が表示されます。terminal cursorウィンドウをクリックして、テキスト(通常はコマンド)をENTER入力し、を押して入力を確認します。
カーソルの前には、常にroot directory( "/")からのファイルシステム上の現在位置がリストされ、あなたの家(個人ファイルがある)は "〜"と呼ばれます。
ディレクトリ/フォルダーを変更cd EXISTENTFOLDERするには、EXISTENTFOLDERをフォルダー名に置き換えます。紛失したと感じたら、単に入力cdしてホームディレクトリにすばやく戻ります!
あなたの問題を解決しましょう

  1. cdコマンドを使用して、ソースコードがあるディレクトリを見つけます。TABあなたを助けるために使用します。を実行するとls -lh、実行可能なパスと実行するファイルのリストが表示されます。

  2. ブロックされたファイルが見つかったら、実行しますchmod +x FILENAME(FILENAMEをソースコードファイルの名前に置き換えます)。

  3. ブロックされたファイルが複数ある場合chmod +x *は、現在のディレクトリ内のすべてのファイルのロックを解除するために実行します。危険または安全でないファイルをchmod + xしないでください

  4. 実行./FILENAME YOUREVENTUALARGUMENTSして実行可能ファイルを実行します。

  5. コンパイルされたプログラムがホームディレクトリの外部で読み取り/書き込みを試みる場合、rootを使用して実行する必要があることに注意してくださいsudo ./FILENAME YOUREVENTUALARGUMENTS

コマンドのマニュアルを実行したい場合man COMMAND(COMMANDを正確なコマンド名に置き換えてください。Linuxでは大文字と小文字が区別されます)。

いくつかのシェルには、Open terminal hereあなたの人生を単純化し、将来それを検索するコマンドがあり、コマンドシェルがうまく使えば、あなたの親友になり得ることを覚えておいてください。:-D

それだけです。ヘルプが必要な場合は、ここにコメントしてください。
左側にある上向き矢印を押してください。解決したら、この回答をベストアンサーとしてマークしてください。

LinuxとUbuntuで素晴らしい体験をしてください。


どうもありがとう。これで、ホームディレクトリの下で作業できます。以前に私に尋ねた操作は許可されません。私には許可はありませんが、提案に感謝します。
wkhwilo
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.