.Sh scriptleri çalıştırılırken izin verilmedi.


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

program exited with code: 126. Bu sorun her zaman kodumu çalıştırmayı denediğimde ortaya çıkar. Çözüm ne olabilir?


1
Permission deniedhata, yalnızca bu dosyaya erişmek için yeterli yetkiniz yoksa.
Avinash Raj

İzinleri nasıl değiştirebilirim
wkhwilo

Bunu nerede yapayım lütfen bana bir örnek verin
wkhwilo

Bunu yaptığımda bana şunu söylüyor: cheann: geany_run_script.sh 'a erişemiyor: Böyle bir dosya veya dizin yok. Terminalden çalıştırmalı mıyım yoksa ne?
wkhwilo

Yanıtlar:


117

İşte Dosya iznini değiştirme (ve mülkiyeti) hakkında açıklayan bir bağlantı

Bunları atlamak istiyorsanız (tabii ki), kullanıcı ana dizininizde bir dizin / klasör oluşturabilir ve Coradaki programlarınızda (veya diğerlerinde) çalışabilirsiniz .


Terminali açabilir ( Ctrl+ Alt+ tuşlarına basarak T) ve cdhedef dizine gidebilirsiniz :

cd /path/to/target

"The_file_name" dosyasına izin vermek için yürütme izni ver (dosya sistemi RW haklarına izin veriyorsa):

chmod +x the_file_name

Herhangi bir örneği izinleri nasıl değiştirebilirim
wkhwilo

Sorun nasıl yapabilirim? Yakın zamanda pencerelerden değiştirdiğim yeni bir Ubuntu kullanıcısıyım.
wkhwilo

... çalışma dizininiz nedir yani. kaynak kod dosyanızın yeri nedir? .. windows CLI ile biraz tecrüben var mı?
kesin

@ wkhwilo-012, bunun yardımı olup olmadığını görün ve lütfen daha fazlasını sormakta tereddüt etmeyin ..
tam olarak

@ wkhwilo-012, lütfen Area_circumferencesorunuzun gövdesini güncellemek için yürütülebilir dosyanızı kopyalayın ve yapıştırın (dosya yolu yapıştırılır) ...
tam olarak

20

Sadece yürütme izni vermeniz gerekir. Bunu takip et:

    chmod +x filename.sh
    ./filename.sh

Yeni komut dosyası yaptığımızda varsayılan olarak okuma ve yazma izni vardır. Fakat eğer onları yürütmek istiyorsak, yukarıda gösterildiği gibi yürütme izni vermeliyiz.


2

CTRL+ ALT+ TTuşlarına basarak veya grafik ortamdaki özel kısayol tuşuyla terminal uygulamanızı açın ( Terminalveya veya gibi xTerm).
Ekranda görünen tek tip pencerede yanıp sönen bir karakter göreceksiniz, bu terminal cursor: pencereye tıklayın ve metni girmek için yazın (genellikle komutlar) ve ENTERgirişi onaylamak için tuşuna basın .
İmleçten önce, dosya sistemindeki geçerli konumunuz her zaman root directory("/") ve evinizden (kişisel dosyalarınızın olduğu yerde) "~" olarak adlandırılır.
Dizin / klasör kullanımını cd EXISTENTFOLDERdeğiştirmek için (EXISTENTFOLDER öğesini klasör adı ile değiştirin); Eğer kaybolmuş hissediyorsanız, sadece cdana dizine geri dönmek için yazmanız yeterli!
şimdihadi problemini çözelim :

  1. cdKaynak kodunuzla dizini bulmak için komutu kullanın . TABSana yardım etmek için kullan . Çalıştırırsanız ls -lh, izlenecek olası yolların ve yürütülecek dosyaların bir listesini göreceksiniz.

  2. Engellenen dosyayı çalıştırdığınızda chmod +x FILENAME(FILENAME adını kaynak kod dosyanızın adıyla değiştirin).

  3. Birden fazla engellenen dosyanız varsa chmod +x *, geçerli dizindeki tüm dosyaların kilidini açmak için yürütün . Asla chmod + x tehlikeli veya güvensiz dosyaları .

  4. ./FILENAME YOUREVENTUALARGUMENTSYürütülebilir dosyanızı çalıştırmak için yürütün .

  5. Derlenmiş programınız ana dizininizin dışında okumaya / yazmaya çalışırsa, onu rootkullanarak olduğu gibi çalıştırmanız gerektiğini unutmayın sudo ./FILENAME YOUREVENTUALARGUMENTS.

Bir komutun çalıştırılması için bir el kitabına sahip olmak istiyorsanız man COMMAND(COMMAND'ı tam komut adıyla değiştirin, Linux büyük / küçük harf duyarlıdır).

Bazı mermilerde Open terminal herehayatınızı kolaylaştıracak, gelecekte arama yapacak ve komut kabuğunun en iyi arkadaşınız olabileceğini unutmayın, eğer iyi kullanırsanız. :-D

Hepsi bu. Daha fazla yardıma ihtiyacınız olursa, buradaki yorum.
Size yardım ediyorsam soldaki YUKARI okuna basın; Çözerseniz bu cevabı en iyi cevap olarak işaretleyiniz.

Linux ve Ubuntu'da güzel bir deneyim yaşayın.


Çok teşekkürler. Şimdi ana dizinin altında çalışabilirim. Bana daha önce sorduğun işleme izin verilmiyor. İznim yok diyor ama öneri için yine de teşekkürler.
wkhwilo
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.