Özel bir terminal komutu nasıl oluşturabilirim (bir betiği çalıştırmak için)?


36

Ben bir web geliştiricisiyim. Çalışmaya başlamak istediğimde, daima terminalde bir komut çalıştırıyorum. Örneğin:

sudo service apache2 start
sudo service mysql start
sublime

Bu işlemi hızlandırmak için .shbu komutları içeren bir dosya oluşturuyorum.

Şimdi, çalışmaya başlamak istediğimde, sadece bu .sh dosyasını ve tüm hizmetleri (mysql, apache2 vs.) çalıştırıyorum.

Bunun için özel bir komut oluşturmak mümkün mü? Örneğin sudo start-working, terminale yazarsam, bu komutları uygular

Yanıtlar:


58

İnsanların bunu ele almasının yaygın bir yolu bin, kendi dizinlerinde bir dizin oluşturmaktır:mkdir ~/bin

Ardından, özel komut dosyalarınızı buraya koyabilirsiniz: mv start-working ~/bin

Komut dosyanızın çalıştırılabilir olduğundan emin olun: chmod +x ~/bin/start-working

Bunu, ~/.bashrcdosyanızın altına ekleyin (muhtemelen kullandığınız bash kullanıyorsanız):export PATH=$PATH:~/bin

Şimdi terminalinize tekrar giriş yapın ve giriş yapın ve basitçe yazabilmeniz gerekir; böylece start-workingkomut dosyanız yürütülür.

Artık yolunuz ayarlandığı için, içine bıraktığınız tüm yeni komut dosyaları ~/binyalnızca adını yazabilirsiniz.


13
+1 ve oturum açmak ve oturum açmak yerine , değişiklikleri uygulamak için source ~/.bashrcveya . ~/.bashrckomutlarını çalıştırabilirsiniz .
Meysam

Joe Oppegaard, elimde olan ve bir komut dosyası yerine komut olarak çalıştırmak istediğim tamamlanmış komut dosyaları olduğu için bu gerçekten yararlı bilgiler buluyorum. ~ / Bin'de oluşturduğunuz tüm alt dizinleri dahil etmenin bir yolu var mı? Böylece birden fazla dışa aktarma satırını .bashrc içine eklemeniz gerekmez mi? Denedim export PATH=$PATH:~/bin/*ama bu istenen sonucu vermedi.
Kevin Wyman

2
Varsayılan ~/.profilezaten ~/binPATH ekler , bu nedenle ~/.bashrcek olarak eklemek, iki veya daha fazla anlamsızca ekleyecektir.
geirha

Ben olmadan .bashrc'ye herhangi bir şey eklemeden işe yaradı, bu yüzden geriha'nın dediği gibi bunu atlayabilirsiniz
Aaron Flores

tecrübelerime göre, yeni bir dosya eklediğinizde, bir chmod komutunu tekrarlamanız gerekir, aksi takdirde izin reddedilir
Webwoman

15

Özel komutların nasıl oluşturulduğunu düşünüyordum ve bu soruyu diğerlerinin yanında buldum. Sanırım aradığım şey takma adlardı, bu yüzden bunu bir takma adla yapmanın yolunu vereceğim.

Ana klasörünüzde:

nano .bash_aliases

Ve orada komutlarınızı bir satırda yazabilirsiniz:

alias start-working='sudo service apache2 start; sudo service mysql start; sublime'

Dosyayı kaydettikten sonra bashrc'nizi yeniden yapılandırın

. ~/.bashrc

Ve yeni takma adınızın yüklendiğini kontrol edin

alias

İşte bu, şimdi çalışarak çalışmaya başlayabilirsiniz.

start-working
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.