Bagaimana cara menggabungkan beberapa perintah di terminal?


25

Saya punya perintah berikut.

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

Sampai sekarang saya sedang mengeksekusi satu per satu.

Apakah ada cara untuk menggabungkan perintah-perintah itu dalam satu baris?


3
Apakah Anda melakukan riset untuk pertanyaan ini?
— don.joey

Itu bukan pertanyaan saya. Hanya setengah menit dari googling akan memberi Anda jawabannya. Karena itu, saya bertanya-tanya apa yang sudah Anda temukan, jika ada.
— don.joey

Apa yang membuatmu berpikir aku menurunkan pertanyaanmu? Saya akan mengabaikan kemarahan Anda. Sebagai catatan tambahan, pertanyaan "mana yang lebih baik: menggunakan ;atau &&untuk menjalankan beberapa perintah dalam satu baris" jauh lebih baik, memiliki lebih banyak penelitian dan kemungkinan akan menarik banyak upvote.
— don.joey

Ada varian yang lebih umum dari pertanyaan ini yang tersedia di askubuntu.com/questions/334994/… . Ini menangani persis pertanyaan yang saya sebutkan di komentar sebelumnya.
— don.joey

Jangan khawatir, Giri. Inti dari pertanyaan itu menarik. Saya berusaha membuat varian generik dari itu.
— don.joey

Jawaban:


33

Ya, pisahkan dengan titik koma seperti:

dir; ls -l

Kebanyakan lanugauges / shell menggunakan semi-kolon untuk menandakan akhir dari sebuah perintah dan untuk memulai yang baru sambil mengevaluasi dari kiri ke kanan.

Atau seperti yang direkomendasikan @RobieBasak, gunakan && sebagai ganti; untuk menjaga terhadap kecelakaan coding.

dir && ls -l

23
Sebaiknya gunakan &&bukan ;. Ini memastikan bahwa perintah selanjutnya hanya dijalankan jika perintah sebelumnya tidak gagal. Ini menghindari beberapa konsekuensi yang aneh. Misalnya: cd /somewhere_else; rm -Rf *dapat melakukan sesuatu yang berbahaya jika /somewhere_elsetidak ada atau Anda salah mengeja; cd /somewhere_else && rm -Rf *melindungi Anda dari ini.
— Robie Basak

2
Solusi '&&' sangat baik, itu harus menjadi rekomendasi pertama dalam jawaban ini. Harap edit jawaban Anda dan promosikan jawaban yang lebih baik ke tempat pertama.
— Kerem Baydoğan

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.