Ne zaman bir .sh dosyasını açtığımda, terminal yerine gedit ile açılır. Sağ Tıkla → Birlikte Aç → Diğer Uygulama ... → Terminal'e benzer bir seçenek bulamıyorum .
Bu dosyayı terminalde nasıl açarım?
ruby foo.rb
Ne zaman bir .sh dosyasını açtığımda, terminal yerine gedit ile açılır. Sağ Tıkla → Birlikte Aç → Diğer Uygulama ... → Terminal'e benzer bir seçenek bulamıyorum .
Bu dosyayı terminalde nasıl açarım?
ruby foo.rb
Yanıtlar:
Komut dosyasına yürütme izni verin:
chmod +x /path/to/yourscript.sh
Ve betiğini çalıştırmak için:
/path/to/yourscript.sh
Yana .
geçerli dizine işaret eder: eğer yourscript.sh
geçerli dizinde olduğunu, bu kadar kolaylaştırabilirsiniz:
./yourscript.sh
bash /path/to/yourscript.sh
ihtiyacın yokchmod +x
. /path/to/yourscript.sh
betiğin bazı ortam değişkenleri kurması gerekiyorsa kullanabilirsiniz .
./path/to/yourscript.sh
(sonra boşluk olmadan .
)? Ben birini kullanmak için en basit ve en kolay bulmak ... Ama neyse, burada hemen hemen aynı yapmalıyım benim alternatiftir ./
kullandığınız için bir neden görmüyorum olsa olurdu ./
: (FILENAME=~/rem4space.sh;SLL=$(cat $FILENAME|head -1|sed 's:^#!\(.*\):\1:g');[ ! -z $SLL ] && exec $SLL $FILENAME;sh $FILENAME)
... düzenlemek FILENAME
beğeninize . sh
Alternatif olmadığında da kullanılacağına dikkat edin .
Kabuk komut dosyalarını dosya yöneticisinden çalıştırmak için çalıştırılabilir olarak işaretlemeniz gerekir:
Sağ senin tıklayın .sh
dosyaya basıp Özellikleri :
In İzinler sekmesi, kontrol programı olarak dosyayı yürütme izin ver :
Kapatın Özellikleri penceresini ve dosyayı çift tıklatın. Komut dosyasını bir terminalde çalıştırma seçeneği sunan bir iletişim kutusu açılacaktır:
Bir terminal açın ve .sh
dosyanın bulunduğu klasöre gidin . Sonra şunu yazın:
sh <name of file>.sh
.Sh dosyasını çalıştırabilmeniz için önce çalıştırılabilir hale getirmeniz gerekir:
Dosyayı aldığınız kaynağa güvendiğinizden emin olun. Bir virüs olabilir .
Bunun bir sorunu var. Terminal hemen kapanacak ve çıktıyı göremeyeceksiniz.
.Sh dosyasının nerede olduğunu bulun
ls
Ve cd
komutlarını kullanınls
geçerli klasördeki dosyaları ve klasörleri listeler . Bir deneyin: "ls" yazın ve Enter tuşuna basın.cd
, ardından bir boşluk ve ardından bir klasör adı izleyin.cd ..
bir seviye yukarı çıkmak için koşun.Sh dosyasını çalıştırın
Örneğin görebildiğinizde script1.sh
ile ls
vadede bu:
./script.sh
Terminal, komutları yazarak erişilebilen zengin bir dizi güçlü araca sahiptir. Uzmanları yazarak .sh dosyasını bulun ls
ve cd
. Doğru klasöre girdikten sonra betiği şu şekilde çalıştırabilirsiniz:
./script1.sh
veya çıktıyı bir dosyaya çalıştırabilir ve yönlendirebilirsiniz:
./script1.sh > out.txt
veya anahtar kelimeler için çıktıyı filtreleyebilirsiniz (örneğin "elmalar") ve sonra bir dosyaya yönlendirebilirsiniz:
./script1.sh | grep apples > ./only-apples
Sadece birkaç komut yazarak o dosyaya yapabileceğiniz binlerce şey var.
Başka bir dosyayı internetten tek bir basit komutla indirebilirsiniz:
wget www.google.com/images/logos/ps_logo2.png
Sonra dosyayı şu şekilde açın:
shotwell ps_logo2.png
Ubuntu'da, Nautilus'ta açılan 13.04 çalıştırılabilir dosyalar, kullanıcının bunları çalıştırmasını istemek yerine varsayılan olarak gedit'te açılır. Klasik davranışı etkinleştirmek için tercihleri ayarlamanız gerekir:
Nautilus → Düzen menüsü → Tercihler → Davranış sekmesi → Her seferinde Ask'ın yanındaki radyo düğmesini tıklayın.
.sh
Kullanarak dosyanın bulunduğu dizine gidin cd
. Bu örnekte dosyamı sh
olduğu gibi sakladım.~/Desktop/shell_practice/test.sh
ilk önce pwd
nerede olduğunuzu bulmak için yapar ve geri dönerse /home/username
( username
gerçek kullanıcı adınız nerede ),
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
ya da
cd /home/$USER/Desktop/shell/practice
bunların hepsi aynı yeri tanımlamanın yolları. Komut dosyanızın konumuna geldikten sonra, şunu yazın
ls
sh
Dosyayı çıktıda görebilirseniz, chmod
çalıştırılabilir yapmak için kullanabilirsiniz . Benim durumumda, unutma, dosya adı test.sh
, yani koşarım
chmod u+x test.sh
Artık komut dosyasıyla aynı dizinde olduğumuza göre, konumunu ./
(dosya adını ayırmak için geçerli bir dizin ayırıcı tarafından izlenen geçerli dizin) vererek dosyayı çalıştırmak istediğimiz kabuğa belirtmeliyiz . Dosyamı çalıştırmak için şunu yazarım:
./test.sh
Eğer betiğiniz doğru yazılmışsa, hatasız çalışır.
2 ana adım.
Terminalde masaüstüne ".sh" uzantılı komut dosyası yazmak ve kaydetmek için gedit kullanın. (ancak herhangi bir metin editörü kullanılabilir)
Nautilus'u açın ve script.sh dosyasına sağ tıklayın.
özelliklerin altında, "dosyanın yürütülmesine izin ver .." onay kutusunu işaretleyin.
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 çalıştır" kontrol edin.
Şimdi, masaüstündeki dosyayı çift tıkladığınızda çalıştırılması gerekir. gerek yok .
ya./
.sh
Dosyaya sağ tıklayın ve çalıştırılabilir hale getirin.
Bir terminal açın ( Ctrl+ Alt+ T).
.sh
Dosyayı terminal penceresine sürükleyin ve huşu içinde izleyin.
Bunu yapmanın birkaç yolu var.
Terminalde, Bash dosyasının kullandığı dizine erişin (dizini cd
değiştir).
Ör. cd Downloads
Çalıştırmak bash <filename>.sh
Bu aynı zamanda .run dosyalarıyla da çalışır. Bu web sitesinde Rhythmbox'ın güncellenmesiyle ilgili bir örnek var .
Terminalde, bash dosyasının içinde bulunduğu dizine gidin.
Çalıştırmak chmod +x <filename>.sh
Nautilus'ta dosyayı açın.
İçin Ubuntu 18.04 Eğer bir pop-up iletişim kutusu alamadım gibi, biraz değişiklik yoktur.
Yani yapmanız gereken şey:
Çalıştırılabilir metin dosyasının altındaki Dosyalara, Tercihleri Seçin> Davranış Seçin Sekmesi> 'Ne yapacağımı sor' seçeneğini işaretleyin.
Şimdi, herhangi bir .sh dosyasına çift tıkladığınızda, bir pop-up alacaksınız, orada .sh dosyanızı çalıştırmak için "terminalde çalıştır" seçeneğini seçebilirsiniz.
Ubuntu 16.04'te Terminal'de nasıl açılacağı:
Git File Manager > Edit > Preferences > Behavior
için Executable Text Files
seçin Ask each time
.
Sorun, varsayılan olarak ayarlanmış olmasıdır View Executable Files when they are opened
.
Kabuk komut dosyanızı veya / usr / local / bin içinde oluşturduğunuz diğer yürütülebilir dosyaları yerleştirirseniz, komut satırında bir klasör yolu belirtmeden veya adına ./ eklemeden bulunacak ve bulunacaktır. Ö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ı aradım ve / usr / local / bin içine yerleştirdim. Komut satırına girmem gereken tek şey:
uuid
Ben de aynı problemle karşılaştım. .Sh dosyasını çalıştırmak istedim ve CentOS 7'deki Gedit ile açıldı. İşte yaptığım şey:
.sh
istediğim dosyanın yoluna gittim.Birkaç dağıtımda bulduğum sorun Nautilus'taki tercihler seçeneğini gizlemiş olmaları, ancak Ubuntu'da düzeltmek ve Gnome3'ü kullanarak diğer dağıtımları düzeltmek aynıdır (kelimenin tam anlamıyla bu sadece Fedora versiyonunu yaptı ve hatırlatmak için gerçek düzeltmeyi yayınladı) nasıl gelecekte).
Yüklemek dconf-editor
sudo apt-get install dconf-editor
Run dconf-editor
Eğer bu istediğiniz kullanıcı hesabını kullanarak, kök DEĞİL yani
dconf-editor
Aşağıdaki şemaya gidin:
org.gnome.nautilus.preferences
Varsayılan seçeneği açmamak için varsayılan seçeneği değiştirin:
Bul executable-text-activation
kelimesini tıklayın display
ve değiştirmekask
bu, ileriye dönük dosyayı düzenleme, görüntüleme veya çalıştırma seçeneği sunar
Ben Linux'ta bir noob ve aynı sorun vardı. Eğer hepsi hataysa:
.
Diğer cevapların önerisi ile püf noktalarını de kullanabilirsiniz .
Örneğin:
chmod +x filename.sh
, zaten dosya yoluna gittiğinizi farz ettikten sonra dosyayı aşağıdaki komutlardan biriyle çalıştırın:
sh filename.sh
./filename.sh
. filename.sh