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 ~/.bashrc
başvurmak için terminalinizi yazın. Sonra sadece betiği başlatmak için yeni adı kullanın.
./filename.sh
sadece değil filename.sh
?
filename
değil./filename
./filename.sh
geçerli dizindeki filename.sh
bir 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/bash
sadece 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.sh
hangisinin 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
chmod
Ayrı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 + 004
ve 010
ve200
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 - Owner
hepsine sahiptir Group
ve Other
okuyabilir ve uygulayabilir
700 - Owner
hepsine sahip
644 - Owner
okuyabilir, yazabilir Group
ve Other
okuyabilir
600 - Owner
okuyabilir ve yazabilir
Ve önemsiz olmayan kullanıcı grupları kullanıyorsanız:
775 - Owner
okuyabilir, yazabilir Group
ve Other
okuyabilir
770 - Owner
ve Group
hepsine sahip ve Other
okuyabilir ve uygulayabilir
750 - Owner
hepsine sahiptir ve Group
okuyabilir ve uygulayabilir
664 - Owner
ve Group
okuyabilir ve yazabilir ve Other
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ğiniz için teşekkürler Ilmari Karonen !