Izin ditolak saat menjalankan skrip .sh

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

program exited with code: 126. Masalah ini selalu terjadi ketika saya mencoba mengeksekusi kode saya. Apa yang mungkin menjadi solusinya?

wkhwilo
sumber
1
Permission deniedkesalahan terjadi hanya jika Anda tidak memiliki hak istimewa yang cukup untuk mengakses file itu.
Avinash Raj
Bagaimana saya bisa mengubah izin
wkhwilo
Di mana saya melakukannya tolong beri saya contoh suntikan
wkhwilo
Ketika saya melakukan itu memberitahu saya chmod ini: tidak dapat mengakses `geany_run_script.sh ': Tidak ada file atau direktori tersebut. Haruskah saya menjalankannya dari terminal atau apa?
wkhwilo
kemungkinan duplikat dari Bagaimana cara menjalankan file .sh di Terminal?
Eliah Kagan

Jawaban:

118

Berikut ini tautan yang menjelaskan tentang Mengubah izin file (dan kepemilikan)

Jika Anda ingin melewati ini (untuk sekarang tentu saja), Anda dapat membuat direktori / folder di direktori home-user Anda dan bekerja pada Cprogram Anda (atau yang lain) di sana.


Anda dapat membuka terminal (tekan Ctrl+ Alt+ T) dan cdke direktori target:

cd /path/to/target

Untuk memberi izin "the_file_name" file (jika sistem file memungkinkan Anda dengan hak RW):

chmod +x the_file_name
tepat
sumber
Bagaimana saya bisa mengubah izin contoh apa pun
wkhwilo
Masalahnya bagaimana saya bisa melakukannya? Saya adalah pengguna Ubuntu baru saya baru saja beralih dari windows.
wkhwilo
..apa direktori kerja Anda yaitu. apa lokasi file kode sumber Anda? ..apakah Anda memiliki pengalaman dengan windows CLI?
tepat
@ wkhwilo-012, lihat apakah itu membantu dan jangan ragu untuk bertanya lebih lanjut ..
tepat
@ wkhwilo-012, harap salin file Anda yang dapat dieksekusi Area_circumferencedan tempel (path file akan ditempelkan) untuk memperbarui tubuh pertanyaan Anda ...
tepat
20

Anda hanya perlu memberikan izin eksekusi. Ikuti ini:

    chmod +x filename.sh
    ./filename.sh

Ketika kita membuat file skrip baru maka secara default file tersebut telah membaca dan menulis izin. Tetapi jika kita ingin mengeksekusinya, maka kita harus memberikan izin mengeksekusi dengan ditunjukkan di atas.

Jay Modi
sumber
2

Buka aplikasi terminal Anda dengan menekan CTRL+ ALT+ Tatau dengan pintasan yang sesuai pada lingkungan grafis (seperti Terminalatau xTerm).
Di jendela seragam yang muncul di layar Anda akan melihat karakter yang berkedip, itu adalah terminal cursor: cukup klik pada jendela dan tulis untuk memasukkan teks (biasanya perintah) dan tekan ENTERuntuk mengkonfirmasi input.
Sebelum kursor selalu ada daftar posisi Anda saat ini pada sistem file dari root directory("/") dan rumah Anda (di mana file pribadi Anda) disebut "~".
Untuk mengubah penggunaan direktori / folder cd EXISTENTFOLDER(ganti EXISTENTFOLDER dengan nama folder); jika Anda merasa tersesat, cukup ketik cduntuk kembali ke direktori home Anda dalam sekejap!
Sekarangmari kita selesaikan masalah Anda :

  1. Gunakan cdperintah untuk menemukan direktori dengan kode sumber Anda. Gunakan TABuntuk membantu Anda. Jika Anda mengeksekusi ls -lh, Anda akan melihat daftar jalur yang mungkin untuk diikuti dan file untuk dieksekusi.

  2. Ketika Anda telah menemukan file yang diblokir dijalankan chmod +x FILENAME(ganti FILENAME dengan nama file kode sumber Anda).

  3. Jika Anda memiliki beberapa file yang diblokir, jalankan chmod +x *untuk membuka kunci semua file di direktori saat ini. Jangan chmod + x file berbahaya atau tidak aman .

  4. Jalankan ./FILENAME YOUREVENTUALARGUMENTSuntuk mengeksekusi file Anda yang dapat dieksekusi.

  5. Ingat bahwa jika program Anda yang dikompilasi mencoba membaca / menulis di luar direktori home Anda, Anda harus menjalankannya rootdengan menggunakan sudo ./FILENAME YOUREVENTUALARGUMENTS.

Jika Anda ingin memiliki manual untuk menjalankan perintah man COMMAND(ganti COMMAND dengan nama perintah yang tepat, Linux adalah case-sensitive).

Beberapa shell memiliki Open terminal hereperintah untuk menyederhanakan hidup Anda, mencarinya di masa depan dan ingat bahwa shell perintah dapat menjadi teman terbaik Anda, jika Anda menggunakannya dengan baik. :-D

Itu semua. Jika Anda memerlukan bantuan lebih lanjut, komentar di bawah sini.
Jika saya membantu Anda menekan panah ATAS di sebelah kiri; jika Anda memecahkan tandai jawaban ini sebagai jawaban terbaik.

Dapatkan pengalaman menyenangkan di Linux & Ubuntu.

Lorenzo Ancora
sumber
Terima kasih banyak. Sekarang saya dapat bekerja di bawah direktori home. Operasi yang Anda tanyakan kepada saya sebelumnya tidak diizinkan. Dikatakan saya tidak punya izin tetapi tetap terima kasih atas sarannya.
wkhwilo