Saya memiliki sekitar 20 perintah dan saya harus mengirim semua ini ke Unix shell dan menyalin hasilnya, tetapi saya tidak tahu bagaimana melakukannya.
Saya tidak yakin dengan shell apa yang saya miliki, karena ini adalah program kecil yang terhubung ke Mobile Network Managment, dan dengan program kecil ini kami memiliki akses untuk mengirim perintah per baris dan menerima hasilnya dengan berteriak, karena alasan itu saya tidak dapat menggunakan skrip untuk mengirim perintah.
Perintah 1 - Terhubung dengan server.
Tunggu hingga perintah 1 selesai
Perintah 2 - Perbarui semua informasi dari server 1 selesai
Tunggu.
Perintah 3 . Dapatkan beberapa parameter.
... dan lebih banyak lagi perintah semacam itu.
Saya mencoba dengan cmd1 | cmd2 | cmd3
dan cmd1 & cmd2 & cmd3
dancmd1;cmd2
Masalahnya adalah dengan cmd1
terhubung ke RNC (elemen Jaringan) dan membutuhkan waktu 15 detik, setelah itu cmd2
masuk akal. tetapi hanya bekerja untuk cmd pertama. Ada petunjuk, bagaimana menjalankan ini?
sumber
&&
antar perintah.Jawaban:
Biasanya hanya
cmd1;cmd2;cmd3;cmd4
(jika Anda ingin menulisnya di satu baris), atau menggunakancmd1 && cmd2 && cmd3 && cmd4
jika Anda tidak ingin menjalankan cmd3 ketika cmd2 gagal.Atau
;
Anda hanya dapat menulis satu perintah per baris.Jika Anda ingin perintah dijalankan secara paralel di latar belakang, Anda juga dapat menggunakan
Salah satu dari metode tersebut juga dapat dimasukkan ke dalam skrip shell. Ada sedikit perbedaan antara apa yang Anda tulis di skrip shell dan apa yang Anda tulis di shell itu sendiri.
sumber
cmd1;cmd2
ini (ataucmd1 && cmd2
dalam hal ini) cmd2 tidak akan berjalan sampai cmd1 telah keluar (dan dengan demikian mungkin selesai). Jadi seharusnya tidak ada masalah - tolong ulangi pertanyaan Anda, atau berikan contoh bahwa orang benar-benar dapat mereproduksi.Anda mungkin ingin melihat ke dalam
sleep
, jika lingkungan Anda mengizinkannya. Urutan lengkapnya kemudian akan menjadi seperticmd1 && sleep 10s && cmd2
.Ini adalah halaman manual yang relevan untuk tidur .
sumber
Cukup gunakan skrip, file yang berisi perintah untuk menjalankan satu demi satu, seperti:
Baris pertama (shebang) memberitahu untuk menjalankan perintah berikut menggunakan
/bin/sh
, membuat file executable (chmod u+x your-little-script
) maka Anda dapat menjalankannya./my-little-script
. Dengan cara ini Anda tidak akan meninggalkan beberapa langkah ;-)Baca manual untuk shell, ini menyediakan bahasa pemrograman lengkap. Periksa
bash(1)
apakah itu yang tersedia, atau yang lain shell Kornksh(1)
. Mereka menawarkan banyak fitur yang berguna untuk mengendalikan aliran kontrol dalam skrip (atau secara interaktif, dalam hal ini).sumber
source your-little-script
(atau. your-little-script
singkatnya).ssh
atauPuTTY
mungkin?Anda dapat menjalankan sesuatu seperti
expect
pada komputer lokal Anda untuk mengirimcmd1
dan menunggu sampai selesai sebelum mengeluarkancmd2
dll. Anda harus mengetahui periode yang wajar untuk menunggu, atau output spesifik yang menunjukkan bahwa perintah dilakukan, untuk menulis yang tepat Skrip yang diharapkan.Tentu saja,
cmd1; cmd2; cmd3; cmd4
dalam satu perintah akan menjalankan perintah secara berurutan, satu demi satu.sumber