Cara yang lebih baik untuk menghapus layar dari dalam skrip ...
Jika Anda menggunakan aplikasi Terminal OSX (seperti yang dinyatakan oleh OP), pendekatan yang lebih baik (terima kasih kepada https://apple.stackexchange.com/a/113168 ) hanyalah ini:
clear && printf '\e[3J'
atau lebih ringkas (ujung hat ke https://stackoverflow.com/users/4834046/qiuyi ):
printf '\33c\e[3J'
yang menghapus buffer scrollback serta layar. Ada opsi lain juga, lihat https://apple.stackexchange.com/a/113168 untuk info lebih lanjut.
jawaban asli
Jawaban AppleScript yang diberikan di utas ini berfungsi, TETAPI memiliki efek samping yang buruk dengan membersihkan jendela terminal APAPUN yang kebetulan aktif. Ini mengejutkan jika Anda menjalankan skrip di satu jendela dan mencoba menyelesaikan pekerjaan di jendela lain!
Anda menghindari ini dengan memperbaiki AppleScript untuk hanya menghapus layar jika itu yang paling depan dengan melakukan ini (diambil dari https://apple.stackexchange.com/a/31887 ):
osascript -e 'if application "Terminal" is frontmost then tell application "System Events" to keystroke "k" using command down'
... tetapi ketika itu bukan jendela saat ini, output akan menumpuk sampai menjadi saat ini lagi, yang mungkin bukan yang Anda inginkan.