Ben bir script.sh dosyası var ve bu dosyanın türü shellscript dosyasıdır. Bu dosyayı uygulama / x-çalıştırılabilir dosya yapmak istiyorum. Nasıl yapabilirim?
Ben bir script.sh dosyası var ve bu dosyanın türü shellscript dosyasıdır. Bu dosyayı uygulama / x-çalıştırılabilir dosya yapmak istiyorum. Nasıl yapabilirim?
Yanıtlar:
Dosyayı çalıştırılabilir olarak işaretleyebilirsiniz:
chmod +x filename.sh
Daha sonra bu şekilde yürütebilirsiniz:
./filename.sh
Başlamak için farklı bir komut kullanmak istiyorsanız takma ad ekleyebilirsiniz:
gedit ~/.bashrc
Bunu dosyanın sonuna ekleyin:
alias <new name>='/home/<full path to script>/filename.sh'
Yeni bir terminal oturumu açın veya source ~/.bashrcbaşvurmak için terminalinizi yazın. Sonra sadece betiği başlatmak için yeni adı kullanın.
./filename.shsadece değil filename.sh?
filenamedeğil./filename
./filename.shgeçerli dizindeki filename.shbir dosyayı belirtir ve kullanarak, geçerli dizindeki bir dosyayı veya PATH'ın herhangi bir dizinini belirtir. İlk kullanım, hangi dosyaya erişildiği konusundaki belirsizlikleri ortadan kaldırır. Bu durumda, #!/bin/bashsadece dosya adını girerek betiği bash veya başka bir tercümanla ( betiğinizde ilk satır olarak kabul edilir) yürütmeye çalışıyorsunuz . Bu kullanım dizinin belirtilmesini gerektirir. Alternatif olarak, bash filename.shhangisinin belirtilmemiş dizinle çalıştığını deneyebilirsiniz .
Bir dosyayı çalıştırılabilir hale getirmenin iki yolu vardır:
GUI Yöntemi:
İzinler sekmesine gidin, ardından `Yürüt: [] kutusunu işaretleyin ve dosyanın program olarak yürütülmesine izin verin.

Terminal / Komut yöntemi:
İkisinden birini kullanabilirsiniz:
cd /to/my/required/directory
O zaman koş
chmod +x filename.extension
Ya da sadece koş:
chmod +x /path/to/your/filename.extension
chmod ayrıca daha gelişmiş seçeneklere de sahiptir:
Boşluklar ayrıldığını göstermek içindir: - rwx --- ---
İlk set ---Kullanıcıdır. İkincisi Grup, sonuncusu Diğer (başkası)
r Okuma, w Yazma ve eXecute x anlamına gelir.
Böylece herkesin okumasına izin vermek, ancak yalnızca Grup yürütmek ve Kullanıcı tarafından okumak ve yazmak (ancak bir nedenden ötürü yürütülmemek) olacaktır:
-rw- rx- r-- Ancak bu komuta şöyle eklenir:
chmod +rw-rx-r-- /path/to/file.extension
chmodAyrıca rakamlarla da yapabilirsiniz. İkilidir (1,2 ve 4 olduğundan sanırım)
Yani bu sayılar var:
Kullanıcı tarafından yürütmek 100. Grup tarafından yürütülür 010. Başkaları tarafından yürütmek 001
Kullanıcı tarafından yaz 200. Grup tarafından Yazma olduğunu 020. Başkaları tarafından yazılır 002.
Kullanıcı tarafından okunuyor 400. Grup olarak oku 040. Başkaları tarafından okunuyor 004.
Ardından, istediğiniz kombinasyonu elde etmek için bunları birlikte ekleyin.
Böylece herkesin okumasına izin vermek, ancak yalnızca Grup yürütmek ve Kullanıcının yazmasına izin vermek (ancak bir nedenden dolayı yürütülmemesi) olacaktır:
400 + 040 + 004ve 010ve200
Bu 600 + 050 + 004 = 654'e kadar ekler.
Daha sonra komutu çalıştırabilirsiniz.
chmod +654 /path/to/file.extension ayarlamak için.
Ve tüm izinleri ayarlamak için yazabilirsiniz:
chmod +rwxrwxrwx /path/to/file.extension
Veya (bu yazmak biraz daha kolay, ancak her birini hatırlamak daha zor):
chmod +777 /path/to/file.extension
Sonunda, şunları yapabilirsiniz:
chmod -777 /path/to/file.extension
Tüm izinleri herkesten uzaklaştırmak.
Ve:
chmod +300 /path/to/file.extension
Diğer izinleri etkilemeden, kullanıcı için okuma ve yazma eklemek (örneğin İzinleri çalıştır).
Bu web sitesi çok kullanışlı bir kılavuz onay kutusu işine sahiptir, böylece istediğiniz seçenekleri işaretleyebilirsiniz ve size şu komutu verir:

Ancak, tüm olası kombinasyonların kullanımı duyarlı değildir; Kullanılan başlıcalar şunlardır:
755 - Ownerhepsine sahiptir Groupve Otherokuyabilir ve uygulayabilir
700 - Ownerhepsine sahip
644 - Ownerokuyabilir, yazabilir Groupve Otherokuyabilir
600 - Ownerokuyabilir ve yazabilir
Ve önemsiz olmayan kullanıcı grupları kullanıyorsanız:
775 - Ownerokuyabilir, yazabilir Groupve Otherokuyabilir
770 - Ownerve Grouphepsine sahip ve Otherokuyabilir ve uygulayabilir
750 - Ownerhepsine sahiptir ve Groupokuyabilir ve uygulayabilir
664 - Ownerve Groupokuyabilir ve yazabilir ve Othersadece okuyabilir
660 - Ownerve Groupokuyabilir ve yazabilir
640 - Ownerokuyabilir ve yazabilir ve Groupokuyabilir
777 ve 666, / tmp dışında nadiren kullanılır.
Yaygın kullanımda olanları işaret ettiğiniz için teşekkürler Ilmari Karonen !