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.