Bir script.sh dosyam var ve bu dosyanın türü shellscript dosyası. Bu dosyayı application/x-executable dosyası yapmak istiyorum. Bunu nasıl yapabilirim?
Dosyayı çalıştırılabilir olarak işaretleyebilirsiniz:
chmod +x filename.sh
Daha sonra bu şekilde çalıştırabilirsiniz:
./filename.sh
Başlatmak için farklı bir komut kullanmak istiyorsanız, bir takma ad ekleyebilirsiniz:
gedit ~/.bashrc
Bunu dosyanın sonuna ekleyin:
alias <new name>='/home/<full path to script>/filename.sh'
Uygulamak için yeni bir terminal oturumu açın veya terminalinize source ~/.bashrc
yazın.
Ardından betiği başlatmak için yeni adı kullanın.
Bir dosyayı çalıştırılabilir hale getirmenin iki yolu vardır:
GUI Yöntemi:
İzinler sekmesine gidin, ardından `Çalıştır' kutusunu işaretleyin: [ ] Dosyanın program olarak yürütülmesine izin ver.
Terminal / Komut yöntemi:
Ya kullanabilirsin:
cd /to/my/required/directory
Sonra çalıştır
chmod +x dosyaadı.uzantısı
Ya da sadece kaç:
chmod +x /path/to/your/filename.extension
chmod` ayrıca bazı daha gelişmiş seçeneklere de sahiptir:
Boşluklar bölünmüş olduğunu göstermek içindir: - rwx --- ---
İlk `---' kümesi Kullanıcıdır. İkincisi Grup ve sonuncusu Diğer (başka herhangi biri)
r Okuma, w Yazma ve x İşlem anlamına gelir.
Dolayısıyla, herkesin okumasına, ancak yalnızca Grup'un yürütmesine ve Kullanıcı'nın okumasına ve yazmasına (ancak bazı nedenlerden dolayı yürütmemesine) izin vermek olacaktır:
-rw- rx- r--
Ancak bu komuta şu şekilde eklenecektir:
chmod +rw-rx-r-- /path/to/file.extension
chmod` bunu sayılarla da yapabilir. Binary tabanlıdır (sanırım 1,2 ve 4 olduğu için)
Yani bu rakamlar var:
Kullanıcı tarafından çalıştırma 100
dür.
Grup tarafından çalıştırma 010
.
Diğer tarafından yürütme 001
Kullanıcı tarafından yazma 200
.
Grup tarafından yazma 020
.
Diğer tarafından yazma 002
dir.
Kullanıcı tarafından okunan değer 400
.
Grup tarafından okunan 040
.
Diğer tarafından okunan 004
.
Daha sonra istediğiniz kombinasyonu elde etmek için bunları bir araya getirirsiniz.
Bu nedenle, herkesin okumasına izin vermek, ancak yalnızca Grup'un yürütmesine ve Kullanıcı'nın yazmasına (ancak bazı nedenlerden dolayı yürütmemesine) izin vermek olacaktır:
400 + 040 + 004ve
010ve
200`
Bu da 600 + 050 + 004 = 654 eder.
Daha sonra komutu çalıştırabilirsiniz.
Ayarlamak için chmod +654 /path/to/file.extension
.
Ve tüm izinleri ayarlamak için yazabilirsiniz:
chmod +rwxrwxrwx /path/to/file.extension
Ya da (bunu yazmak biraz daha kolay, ancak her birini hatırlamak daha zor):
chmod +777 /path/to/file.extension
Son olarak, yapabilirsiniz:
chmod -777 /path/to/file.extension
Tüm izinleri herkesin elinden almak için.
Ve:
chmod +300 /path/to/file.extension
Diğer izinleri (örn. Yürütme izinleri) etkilemeden kullanıcı için okuma ve yazma eklemek için.
Bu web sitesinde çok kullanışlı küçük bir ızgara onay kutusu vardır, bu sayede istediğiniz seçenekleri işaretleyebilirsiniz ve size komutu verir:
Ancak, tüm olası kombinasyonların kullanılması mantıklı değildir; kullanılan başlıca kombinasyonlar şunlardır:
755 - Sahip
hepsine sahiptir ve Grup
ve Diğer
okuyabilir ve yürütebilir
700 - Sahibinin
her şeyi var
644 - Sahip
okuyabilir ve yazabilir ve Grup
ve Diğer
okuyabilir
600 - Sahip
okuyabilir ve yazabilir
Ve eğer önemsiz olmayan kullanıcı grupları kullanıyorsanız:
775 - Sahip
okuyabilir ve yazabilir ve Grup
ve Diğer
okuyabilir
770 - Sahip
ve Grup
hepsine sahiptir ve Diğer
okuyabilir ve yürütebilir
750 - Sahip
her şeye sahiptir ve Grup
okuyabilir ve yürütebilir
664 - Sahip
ve Grup
okuyabilir ve yazabilir, Diğer
ise sadece okuyabilir
660 - Owner
ve Group
okuyabilir ve yazabilir
640 - Owner
okuyabilir ve yazabilir ve Group
okuyabilir
777 ve 666, /tmp dışında nadiren kullanılır.
Yaygın kullanımda olanları işaret ettiği için teşekkürler Ilmari Karonen!
Zamirlerim He / Him
Koş:
chmod +x /path/to/file.sh
Çalıştırılamaz hale getirmek için çalıştırın:
chmod -x /path/to/file.sh
Örneğin .sh
dosyası oluşturdum:
vi tester12.sh
Vi editörüne biraz kod yazdıktan sonra vi editöründen çıkacağım:
:wq!
chmod +x tester12.sh
./tester12.sh