Ini dikenal sebagai di job control
bawah unix. The &
menginformasikan shell untuk menempatkan perintah di latar belakang. Ini berarti terus menjalankan sys-snap.sh
perintah tetapi mengembalikan Anda ke shell Anda untuk memungkinkan Anda terus melakukan perintah paralel.
Anda dapat melihat daftar pekerjaan yang sedang berjalan dengan jobs
perintah. Anda dapat kembali ke perintah (bawa ke 'latar depan) dengan menggunakan fg
perintah. Yang menarik perintah kembali ke keadaan di mana Anda tidak melihat prompt dan Anda harus mengeluarkan Ctrl- Cuntuk mematikan proses. Namun Anda dapat menangguhkan (jeda) proses itu, mengeluarkan Ctrl- Z. Ini akan menjeda sys-snap.sh
dan mengembalikan Anda ke prompt Anda. Anda dapat kemudian latar belakang itu (seolah-olah Anda telah mengeluarkan itu dengan yang &
) dengan bg
perintah, dan itu akan resume berjalan dari itu berhenti negara Ctrl- Ztelah memasukkannya ke dalam.
Perhatikan bahwa Anda dapat memiliki lebih dari satu pekerjaan sekaligus (seperti yang ditunjukkan oleh jobs
):
[1]- Running sys-snap.sh &
[2]+ Running another-script.sh &
Anda dapat latar belakang dan latar depan mereka menggunakan nomor pekerjaan mereka, %1
akan sys-snap.sh
dan %2
akan another-script.sh
. Jika Anda menggunakan fg
atau bg
tanpa argumen itu akan melakukan perintah pada pekerjaan yang ditandai oleh +
dalam jobs
output di atas.
fg %1
akan dimasukkan sys-snap.sh
kembali ke latar depan, sementara meninggalkan another-script.sh
di latar belakang.
Anda dapat mengeluarkan Ctrl- Curutan untuk menjalankan pekerjaan tanpa harus memprioritaskannya dengan kill
perintah, kill %1
akan mengirimkan yang setara dengan Ctrl- Cke sys-snap.sh
.
Jika Anda menggunakan bash shell, man bash
perintah tersebut memiliki bagian terperinci di bawah bagian yang berjudul 'JOB CONTROL' yang membahas lebih detail.
Mengenai nama sys-snap.sh
, di bawah nama file unix adalah arbitrer (dengan beberapa pengecualian seperti file loader dinamis). Tidak ada persyaratan bagi mereka untuk memiliki ekstensi file tertentu untuk membuat mereka berjalan sebagai skrip shell, menjalankan perintah lain seperti perl
atau php
dll. Biasanya digunakan untuk memberikan kejelasan, bahwa dalam hal ini, itu adalah .sh
Shell Script menggunakan Bourne Shell /bin/sh
.
Bagian fungsional sys-snap.sh
(ketika Anda melihat isinya dengan sesuatu seperti less
perintah) adalah Shebang . Pada baris pertama Anda mungkin akan menemukan salah satu dari:
#! /bin/sh
#! /bin/bash
#! /usr/local/bin/bash
atau serupa. Dalam istilah dasar, perintah setelah #!
(seperti /bin/sh
) dijalankan dan isi dari sisa file skrip diumpankan ke baris pada satu waktu. Perhatikan bahwa file tersebut juga harus diatur agar dapat dieksekusi chmod
sehingga Anda dapat menjalankannya sebagai perintah. Jika izin tidak disetel, maka shebang
efeknya tidak, karena Anda akan mendapatkan kesalahan:
bash: sys-snap.sh: command not found
atau jika Anda menjalankannya dengan jalur eksplisit ./sys-snap.sh
( .
artinya direktori kerja saat ini) Anda akan mendapatkan:
bash: ./sys-snap.sh: Permission denied
Alternatif lain adalah membiarkannya tanpa menjalankan izin dan secara eksplisit meminta / bin / sh untuk menjalankannya:
/bin/sh sys-snap.sh &
&&
berbeda dari ampersand tunggal&
?