Menghindari prompt [proses selesai] setelah script terminal berakhir pada Mac OS X

32

Di editor teks saya, saya telah mengikat kunci pintas untuk menyebarkan kode saya dengan memanggil perintah seperti

/usr/bin/open /Users/blahblah/run_deploy

Skrip yang digunakan akan mengunggah kode saya ke server saya, dll. Saya menggunakan "buka" sehingga saya dapat melihat output di jendela terminal baru jika ada kesalahan. Sangat mudah, tetapi pada akhirnya meninggalkan jendela terminal terbuka dengan teks "[Proses selesai]".

Adakah cara untuk melewati ini dan sebagai gantinya hanya menutup jendela secara otomatis?

Proses terminal selesai

Bemmu
sumber
1
Berikan bahwa Anda telah mengatur Terminal untuk menutup jendela ketika shell keluar, itu terdengar seperti masalah Terminal. Sudahkah Anda mencoba menghapus file preferensi com.apple.Terminal.plistdari folder Preferensi Anda dan mencoba mengaturnya lagi?
Chealion
Apakah Anda masih memiliki masalah ini?
Daniel Beck

Jawaban:

49

Di Preferensi Terminal , di panel Profil pilih Profil yang Anda gunakan (harus mengatakan "default" di bawah namanya), pilih sub-pane Shell dan ubah « Ketika shell keluar: » ke « Tutup jika shell keluar dengan bersih ».

Itu tidak akan menyembunyikan [Process completed]pesan, tetapi akan menutup jendela jika kode keluar berhasil.

cekcok
sumber
Untuk beberapa alasan saya tidak dapat mengubah pengaturan di jendela terminal itu. Jika saya mengubahnya di jendela terminal lain dan "gunakan sebagai default", masih tidak digunakan di jendela terminal baru. Beginilah tampilan jendela terminal baru: i.imgur.com/u3tk4.png
Bemmu
Pertama-tama, buat pengujian lebih cepat dengan mengikuti: echo 'say hello' > test; chmod +x test(itu akan membuat executable yang akan menyapa), menjalankan open testatau mengklik dua kali dalam finder akan menjalankannya dengan terminal secara default. Pada tangkapan layar Anda, tidak ada skema yang dipilih (tidak tahu caranya, saya tidak dapat membatalkan pilihannya), jadi pilih Basic seperti yang ditandai «Default», dan atur pengaturan penutup, lalu coba jalankan skrip.
tig
Terima kasih, tetapi itu juga tidak berhasil: i.imgur.com/cCo49.png
Bemmu
Versi os mana yang Anda gunakan (tidak tahu apakah itu bisa dikaitkan, saya menggunakan 10.6.4)? Mungkin ini karena surat yang belum dibaca? Coba gunakan mailuntuk membacanya. Mungkin ada yang salah dengan logout? Apakah Anda memiliki ~/.bash_logoutfile, jika ya, apa yang ada di dalamnya? Coba jalankan bash -c exit && echo 'ok'- Anda akan melihat 'ok', juga coba jalankan exitdi shell baru - itu harus menutup jendela. Apakah Anda menggunakan grup jendela? i.imgur.com/thPNV.png
tig
1
Bisakah Anda menempatkan perintah "killall Terminal" di akhir skrip Anda atau sesuatu? Saya tahu itu akan menutup jendela, apa pun yang terjadi, tetapi Anda setidaknya dapat menonton apa yang terjadi SELAMA menjalankan skrip (dan Anda juga dapat mendorong output ke log, untuk berjaga-jaga).
jrc03c
0

Memperbaiki izin melalui Disk utilityaplikasi memecahkan masalah bagi saya.

Saya terus melihat kesalahan di Consoleaplikasi:

20/08/2015 01:17:42.318 login[3291]: in pam_sm_open_session(): Unable to write the utmp record.
jakedsouza
sumber