Saya pengguna Ubuntu / Linux baru, saya ingin mengajukan pertanyaan seperti judul saya di atas.
Misalnya, saya punya file bash ./script
, saya ingin membuatnya berjalan secara otomatis ketika saya mengetikkan baris perintah apa pun. Setelah saya mengeksekusi baris perintah pwd
maka ./script
akan dieksekusi. Setelah saya ketik baris perintah selanjutnya ls -la
maka ./script
akan dieksekusi lagi.
command-line
bash
scripts
execute-command
Ender Phan
sumber
sumber
Jawaban:
Anda perlu mengatur
PROMPT_COMMAND
variabel. Dariman bash
:Sebagai contoh, ini akan menulis tanggal saat ini ke
/tmp/PC
setiap kali perintah dijalankan:sumber
echo $(date)
akan dijalankan pada waktu deklarasi, jadi akan selalu menampilkan (menyimpan) pada waktu yang sama.Anda mencari
PROMPT_COMMAND
variabel lingkungan, nilai variabel ini akan dieksekusi sebagai perintah, setelah setiap perintah yang diberikan di terminal dieksekusi, tepat sebelum menampilkan prompt berikutnya.Misalnya, atur sebagai:
Buat skrip
/path/to/script
,, dapat dieksekusi terlebih dahulu.Sekarang skrip akan dijalankan setelah setiap perintah.
Sebagai catatan, jika Anda tidak ingin variabel diekspor yaitu menjadikannya variabel shell alih-alih variabel lingkungan, lepas
export
:Dari
man bash
:sumber
export
?export
akan menjadikan variabelPROMPT_COMMAND
sebagai variabel lingkungan, yaitu variabel akan tersedia untuk semua proses anak (mis. Subkulit) dari shell saat ini. Jika Anda hanya ingin membatasi dalam sesi shell saat ini saja (variabel shell), hapusexport
.export
bukan praktik yang baik di sini -PROMPT_COMMAND
hanya boleh diatur dalam file startup shell interaktif dan tidak boleh terlihat di lingkungan