Terminalde çoklu komutlar nasıl birleştirilir?


25

Aşağıdaki komutlara sahibim.

cd import
zcat urls1.sql.gz | mysql -u root -p urls
cd /var/www/project1/
nano 1.php

Şimdilik tek tek yürütüyorum.

Bu komutları bir satırda birleştirmenin bir yolu var mı?


3
Bu soru için herhangi bir araştırma yaptınız mı?
don.joey,

Benim sorum bu değildi. Sadece yarım dakikalık googling size cevap verecekti. Bu nedenle, zaten bir şey bulduysanız ne bulduğunuzu merak ediyordum.
don.joey,

Sorunu reddettiğimi nereden çıkardın? Öfkenizi ihmal edeceğim. Not olarak, "hangisi daha iyi: bir satırda birden fazla komut kullanmak ;veya &&uygulamak " sorusu çok daha iyi, daha fazla araştırmaya sahip ve büyük olasılıkla birçok fazla oy almamıştı.
don.joey

Askubuntu.com/questions/334994/… adresinde bu sorunun daha genel bir varyantı bulunmaktadır . Önceki yorumda tam olarak bahsettiğim soru ile ilgileniyor.
don.joey,

Endişelenme Giri. Sorunun özü ilginç. Bunun genel bir türevi yapma çabasını kullandım.
don.joey

Yanıtlar:


33

Evet, şöyle bir noktalı virgülle ayır:

dir; ls -l

Çoğu lanugauges / mermi, komutun sonunu belirtmek ve soldan sağa doğru değerlendirirken yeni bir başlangıç ​​yapmak için noktalı virgül kullanır.

Veya @RobieBasak'ın önerdiği gibi, yerine && kullanın; kodlama kazalarına karşı korunmak için.

dir && ls -l

23
Bunun &&yerine kullanmak iyi bir fikirdir ;. Bu, sonraki komutların yalnızca önceki komutlar başarısız olmadığında yürütülmesini sağlar. Bu, bazı garip sonuçlardan kaçınır. Örneğin: cd /somewhere_else; rm -Rf *eğer /somewhere_elseyoksa feci bir şey yapabilir ya da yanlış heceleyebilirsin; cd /somewhere_else && rm -Rf *seni bundan korur.
Robie Basak

2
'&&' Çözümü çok iyi, bu cevabın ilk önerisi olmalı. Lütfen cevabınızı düzenleyin ve ilk etapta daha iyi bir cevap verin.
Kerem Baydoğan

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.