.sh dosyalarını nasıl çalıştırırım?

244

.sh dosyasını her açtığımda, terminal yerine gedit olarak açar. Sağ Tıklama Birlikte Aç Diğer Uygulama ... Terminal 'e benzer herhangi bir seçenek bulamıyorum .

Bu dosyayı terminalde nasıl açarım?

    
sordu Alex 01.05.2011 04:39

16 cevap

374

Komutunuza yürütme izni verin:

chmod +x /path/to/yourscript.sh

Ve senaryonuzu çalıştırmak için:

/path/to/yourscript.sh

. geçerli dizine başvuruda bulunduğundan: yourscript.sh geçerli dizinde bulunuyorsa, bunu şu şekilde basitleştirebilirsiniz:

./yourscript.sh
    
verilen cevap karthick87 01.05.2011 05:18
72

Kabuk betiklerini, dosya yöneticisinden çalıştırmak için çalıştırılabilir olarak işaretlemeniz gerekiyor:

  1. .sh dosyanızı sağ tıklayın ve Özellikler 'i seçin:

  2. İzinler sekmesinde, Dosyayı program olarak çalıştırmaya izin ver seçeneğine bakın:

  3. Özellikler penceresini kapatın ve dosyayı çift tıklayın. Komut dosyasını bir terminalde çalıştırma seçeneği sunan bir iletişim kutusu açılır:

verilen cevap Isaiah 01.05.2011 05:02
22

Önkoşul

.sh dosyasını çalıştırabilmeniz için dosyayı çalıştırmanız gerekir:

  1. Dosyaya sağ tıklayın
  2. Özellikler 'i seçin
  3. İzinler 'i seçin
  4. Dosyayı bir program olarak çalıştırmaya izin ver 'i seçin

Uyarı

Dosyayı aldığınız yere güvendiğinizden emin olun. Bir virüs olabilir.

Çok basit bir yol

  1. Dosyaya çift tıklayın
  2. Terminalde çalıştır'ı tıklayın

Bunun bir sorunu var. Terminal hemen kapanacak ve çıkışı göremeyeceksiniz.

Basit yol

  1. Uygulamaları Aç - & gt; Aksesuarlar - & gt; Terminal
  2. .sh dosyasını sürükleyip terminale bırakın ve Enter tuşuna basın

Profesyonellerin yaptığı gibi

  1. Uygulamaları Aç - & gt; Aksesuarlar - & gt; Terminal
  2. .sh dosyasının yerini bulun

    • ls ve cd komutlarını kullanın
    • ls , geçerli klasördeki dosya ve klasörleri listeler. Bir deneyin: "ls" yazın ve Enter'a basın.
    • İçeri girmek istediğiniz klasörü gördüğünüzde, cd dosyasını, ardından bir alanı ve ardından bir klasör adını çalıştırın
    • İstemediğiniz bir klasöre girdiğinizde, bir seviye yukarı gitmek için cd .. dosyasını çalıştırın.
  3. .sh dosyasını çalıştırın

    • Örneğin script1.sh ile ls değerini görebildiğiniz zaman şunu çalıştırın:

      ./ script.sh

Neden bu karmaşık bir yol?

Terminalde, komutları yazarak erişilebilen zengin bir güçlü araçlar kümesi bulunur. Uzmanları .sh dosyasını ls ve cd yazarak bulun. Doğru geçerli klasörde olduğunda, komut dosyasını şu şekilde çalıştırabilirsiniz:

./script1.sh

veya çıktıyı bir dosyaya çalıştırabilir ve yeniden yönlendirebilirsiniz:

./script1.sh > out.txt

veya çıktıyı anahtar kelimeler için filtreleyebilirsiniz (ör. "elmalar") ve ardından bir dosyaya yönlendirme yapabilirsiniz:

./script1.sh | grep apples > ./only-apples

Sadece birkaç komut yazarak o dosyaya yapabileceğiniz binlerce şey var.

Bir diğeri, internetten bir dosyayı basit bir komutla indirebilirsiniz:

wget www.google.com/images/logos/ps_logo2.png

Ve sonra dosyayı şu şekilde aç:

shotwell ps_logo2.png
    
verilen cevap Aleksandr Levchuk 01.05.2011 04:52
18

Bir terminal açın ve .sh dosyasının bulunduğu klasöre gidin. Sonra yazın:

sh <name of file>.sh
    
verilen cevap italianfoot 20.12.2012 08:43
15

Ubuntu 13.04'te Nautilus'ta açılan yürütülebilir dosyalar, kullanıcının bunları yürütmesini istemekten ziyade varsayılan olarak gedit'te açılır. Klasik davranışı etkinleştirmek için tercihlerinizi ayarlamanız gerekir:

Nautilus → Düzenle menüsü → Tercihler → Davranış sekmesi → Yakın zamandaki radyo düğmesine tıklayın.

    
verilen cevap imjustmatthew 10.06.2013 23:41
5

.sh dosyasının cd kullanılarak yapıldığı dizine gidin. Bu örnekte, sh dosyamı ~/Desktop/shell_practice/test.sh

olarak kaydettim

ilk önce nerede olduğunuzu hesaplamak için pwd yaparsınız ve /home/username değerini döndürürse ( username gerçek kullanıcı adınızdır),

çalıştırabilirsiniz.
cd Desktop/shell/practice

Başka bir yerde görünüyorsanız, mutlak yolu kullanabilirsiniz

cd ~/Desktop/shell/practice

veya

cd $HOME/Desktop/shell/practice

veya hatta

cd /home/$USER/Desktop/shell/practice

Bunlar aynı yeri tarif etmenin her yoludur. Komut dosyanızın yerini belirledikten sonra,

yazın
ls

Çıktıda sh dosyasını görüyorsanız, yürütülebilir dosyayı yapmak için chmod değerini kullanabilirsiniz. Benim durumumda, dosya adı test.sh , hatırlıyorum

chmod u+x test.sh

Şimdi, komut dosyasıyla aynı dizinde olduğumuza göre, dosyayı% Co_de% (geçerli dizini ardından bir yol ayırıcı ile takip ederek) vererek dosyayı yürütmek istediğimiz kabuğu belirtmeliyiz. dosya adı). Dosyamı çalıştırmak için şunu yazarım:

./test.sh

Komut dosyanız doğru bir şekilde yazılmışsa, hatasız olarak çalışır ...

İşte canlı bir örnek:

    
verilen cevap TheExorcist 03.12.2016 12:14
3

2 ana adım.

  1. terminalinde, masaüstüne ".sh" uzantılı komut dosyası yazıp kaydetmek için gedit kullanın. (ancak herhangi bir metin editörü kullanılabilir)

  2. Nautilus'u açın ve script.sh dosyasını sağ tıklayın.

    • özellikler altında, "dosya çalıştırmasına izin ver" onay kutusu.

    • Nautilus menüsünde, dosyaya, ardından tercihlere, ardından davranışa

    • tıklayın.
    • "çalıştırılabilir çalıştırılabilir metin dosyalarını açtıklarında" kontrol edin.

Artık masaüstündeki dosyaya çift tıkladığınızda, çalıştırılmalıdır. . veya ./     

verilen cevap rob 24.10.2013 16:24
2

Ubuntu 16.04'te Terminalde nasıl açılacağı:

File Manager > Edit > Preferences > Behavior için Executable Text Files öğesine gidin ve Ask each time öğesini seçin.

Sorun, varsayılan olarak View Executable Files when they are opened olarak ayarlanmış olmasıdır.

    
verilen cevap Leniel Maccaferri 11.12.2016 20:58
2
  1. .sh dosyasını sağ tıklayın ve çalıştırılabilir hale getirin.

  2. Bir terminal açın ( Ctrl + Alt + T ).

  3. .sh dosyasını terminal penceresine sürükleyin ve korku içinde izleyin.

verilen cevap 1p_bunny 10.06.2017 16:09
2

Bunu yapmanın birkaç yolu var.

Seçenek 1

  1. Terminalde, Bash dosyasının cd dizinini kullanıyor (dizin değiştir).

    Örn. % Co_de%

  2. cd Downloads çalış

    Bu, ayrıca .run dosyaları ile çalışır. Bu kullanımın bir örneği bu web sayfasında Rhythmbox'ı güncellemeye devam ediyor.

Seçenek 2

  1. Terminalde, bash dosyasının bulunduğu dizine gidin.

  2. bash <filename>.sh uygulamasını çalıştır

  3. Nautilus'ta dosyayı açın.

verilen cevap Kenny Stier 06.01.2014 22:33
1

Kabuk betiğinizi veya / usr / local / bin dizininde oluşturduğunuz diğer yürütülebilir dosyaları yerleştirirseniz, komut satırında bir klasör yolu sağlamaya veya ad /. Örneğin, disk UUID'lerini görüntülemek için aşağıdaki basit 3 satır bash komut dosyasını oluşturdum:

#!/bin/bash
echo "* UUIDs must match in /etc/fstab and /boot/grub/menu.lst"
sudo blkid

Uuid dosyasını çağırdım ve / usr / local / bin dizinine yerleştirdim. Komut satırına girmem gereken tek şey:

uuid
    
verilen cevap fragos 01.05.2011 09:14
1

Ubuntu 18.04 için, pop-up iletişim kutusu olmadığından küçük bir değişiklik var.

Yani yapmanız gereken şey:

Dosyalara sağ tıklayın, Tercihler'i seçin & gt; Davranış Sekmesi & gt; Yürütülebilir metin dosyası altında 'Ne yapması gerektiğini sorun' seçeneğini işaretleyin.

Şimdi, herhangi bir .sh dosyasını çift tıklattığınızda, bir açılır pencere alacaksınız, burada .sh dosyanızı çalıştırmak için "terminalde çalıştır" seçeneğini belirleyebilirsiniz.

    
verilen cevap Akhilesh Dhar Dubey 16.08.2018 12:18
0

Ben de aynı problemle karşılaştım. .Sh dosyasını çalıştırmak istedim ve Centros 7'de Gedit ile açıldı. İşte yaptığım şey buydu:

  1. Yürütmek istediğim .sh dosyasının yoluna gittim.
  2. Terminali açtım.
  3. Ve sadece terminal penceresini sürükleyip bıraktım ve bu dosyayı otomatik olarak giriş yolu ile birlikte yolladım.
  4. Enter'a bas ve gitmene sevindim!
verilen cevap Jen Bates 16.06.2016 17:11
0

Birkaç dağıtımda bulduğum sorun, Nautilus'taki tercihleri ​​gizlediler, fakat Ubuntu'da düzeltmek ve Gnome3'ü kullanan diğer dağıtımlar aynıdır (kelimenin tam anlamıyla sadece Fedora versiyonunu yaptım ve gerçek düzeltmeyi yayınladım) bana nasıl geleceğini hatırlatmak için.)

  1. dconf-editor uygulamasını yükle

    sudo apt-get install dconf-editor
    
  2. İstediğiniz kullanıcı hesabını kullanarak dconf-editor çalıştırın, yani root

    dconf-editor
    
  3. Aşağıdaki şemaya gidin:

    org.gnome.nautilus.preferences

  4. Varsayılan seçeneği varsayılan olarak açmamak için değiştirin:

    executable-text-activation değerini bulun display sözcüğünü tıklayın ve ask olarak değiştir

bu size ileriye dönük dosyayı düzenleme, görüntüleme veya çalıştırma seçeneği sunacaktır

    
verilen cevap Snider 22.12.2013 17:06
0

Linux'ta bir noob'um ve aynı problemi yaşadım. Her şey başarısız olursa:

  1. Terminali aç
  2. .sh dosyasını içeren klasörü açın
  3. Dosyayı terminal penceresine sürükleyip bırakın
  4. Dosyanın yolu terminalde görünür. Enter 'a basın.
  5. Voila, .sh dosyanız çalışıyor.
verilen cevap Linux_noob 07.05.2017 04:19
-2

Ayrıca, diğer yanıtların önerisiyle birlikte . hileler de kullanabilirsiniz.

Örneğin:

chmod +x filename.sh , dosya yoluna daha önce gittiğinizi varsayarak dosyayı şu komutlardan herhangi biri ile çalıştırın:

sh filename.sh

./filename.sh

. filename.sh
    
verilen cevap Awais 02.01.2015 09:29

Etiketlerdeki diğer soruları oku