Yanıtlar:
Terminal'i açın, yazın sh /path/to/file
ve enter tuşuna basın.
Daha hızlı yazmak, sh
bir boşluk bırakmak ve dosyayı pencereye sürüklemek ve simgeyi pencerenin herhangi bir yerinde bırakmaktır.
shell shell_script
satırı yok sayılır. Kabuk ilk satırı bir yorum olarak okur.
sh /path/to/file
Anlamsal olarak alternatiflerden herhangi biri nasıl farklı /path/to/file.sh
?
Alternatif olarak, aynı zamanda yapabilirsiniz
cd /directory/with/executable
chmod +x executable # only required if your file is not already executable
./executable
Ayrıca çalıştırılabilir dosyayı belirtilen kabuğu ile çalıştıracak (eğer shebang'da belirtilmişse) #!/bin/(shell)
chmod u+x myfile.sh
cp myfile.sh /usr/local/bin
~/.bash_profile
aşağıdaki satırı düzenleyin ve ekleyin:
alias myfile=./myfile.sh
aşağıdaki komut satırını yürütün:
source ~/.bash_profile
o zaman dosyanızı bir program olarak çalıştırabilirsiniz
$ myfile
#~/bin/sh
iken, OSX
olması gereken komut .sh
uzantısı ve bir alias
onların her biri için. : -O
Komut dosyalarını çalıştırmak için aşağıdaki adımları izleyin:
.Sh dosyasına sağ tıklayın.
Birlikte Aç seçeneğinin üzerine gelin .
Seç Diğer ... .
Uygulamalar klasöründe olmalısınız . Utilities klasörünü açın ve Terminal.app seçeneğini seçin.
Eğer Terminal.app seçemiyorsanız, etkinleştirilmiş uygulamaları değiştirmek Önerilen Uygulamalar için Tüm Uygulamalar . Pencerenin altındadır.
Her .sh
dosyayı Terminal.app ile açmak istiyorsanız , Her Zaman Birlikte Aç'ı işaretleyin .
Pencerenin sağ alt köşesindeki Aç düğmesine basın .
İndirdikten sonra çalışmamasının nedeni dosya izinlerinin izin vermemesidir. Yürütme izinlerini etkinleştirmek için Terminal'i açın ve yazın
chmod 755 /path/to/script
. Tam yolu yazmak yerine, komut dosyasını Finder'dan Terminal penceresine sürükleyebilirsiniz. Ardından, yürütmek için, sadece girin
/path/to/script
. Yine, dosyayı sürükleyip Terminal penceresine bırakabilirsiniz. Bu sözdizimi, betiğin ilk satırında tanımlandığı gibi doğru kabuğu kullanarak betiği çalıştırmalıdır.
sh
, "betiği bu kabukta çalıştırma" değil bir kabuk betiğini belirtir.