การหลีกเลี่ยงพรอมต์ [กระบวนการเสร็จสิ้น] หลังจากเทอร์มินัลสคริปต์สิ้นสุดใน Mac OS X


32

ในโปรแกรมแก้ไขข้อความของฉันฉันได้ผูกคีย์ลัดเพื่อปรับใช้รหัสของฉันโดยเรียกใช้คำสั่งเช่น

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

การปรับใช้สคริปต์นั้นอัปโหลดรหัสของฉันไปยังเซิร์ฟเวอร์ของฉัน ฯลฯ ฉันใช้ "เปิด" เพื่อให้ฉันสามารถเห็นผลลัพธ์ในหน้าต่างเทอร์มินัลใหม่ในกรณีที่มีข้อผิดพลาด สะดวกมาก แต่ในที่สุดมันเปิดหน้าต่างเทอร์มินัลไว้พร้อมข้อความ "[เสร็จสิ้นกระบวนการ]"

มีวิธีใดบ้างที่จะข้ามสิ่งนี้และแทนที่จะปิดหน้าต่างโดยอัตโนมัติ?

กระบวนการเทอร์มินัลเสร็จสมบูรณ์


1
ให้คุณได้ตั้งค่า Terminal ให้ปิดหน้าต่างเมื่อเชลล์ออกดูเหมือนว่าจะเป็นปัญหาของ Terminal คุณลองลบไฟล์การตั้งค่าcom.apple.Terminal.plistจากโฟลเดอร์การตั้งค่าและลองตั้งค่าอีกครั้งหรือไม่?
Chealion

คุณยังมีปัญหานี้หรือไม่?
Daniel Beck

คำตอบ:


52

ในการตั้งค่าเทอร์มินัลในบานหน้าต่างส่วนกำหนดค่าเลือกโปรไฟล์ที่คุณใช้ (ควรระบุว่า "เริ่มต้น" ภายใต้ชื่อของมัน) เลือกเชลล์ย่อยของบานหน้าต่างย่อยและเปลี่ยน« เมื่อเชลล์ออก: »เป็น« ปิดหากเชลล์ออกอย่างหมดจด »

มันจะไม่ซ่อน[Process completed]ข้อความ แต่จะปิดหน้าต่างหากรหัสออกสำเร็จ


ด้วยเหตุผลบางอย่างฉันไม่สามารถเปลี่ยนการตั้งค่าในหน้าต่างเทอร์มินัลนั้น ถ้าฉันเปลี่ยนมันในหน้าต่างเทอร์มินัลอื่นและ "ใช้เป็นค่าเริ่มต้น" พวกเขาจะไม่ได้ใช้ในหน้าต่างเทอร์มินัลใหม่ นี่คือลักษณะหน้าจอเทอร์มินัลใหม่: i.imgur.com/u3tk4.png
Bemmu

ก่อนอื่นเพื่อให้การทดสอบทำงานได้เร็วขึ้นต่อไปนี้: echo 'say hello' > test; chmod +x test(มันจะสร้างไฟล์เรียกทำงานซึ่งจะกล่าวสวัสดี), การรันopen testหรือดับเบิลคลิกใน Finder จะรันด้วยเทอร์มินัลโดยค่าเริ่มต้น ในภาพหน้าจอของคุณไม่มีการเลือกชุดรูปแบบ (ไม่รู้วิธีฉันไม่สามารถยกเลิกการเลือกทั้งหมด) ดังนั้นให้เลือกพื้นฐานเนื่องจากมีการทำเครื่องหมาย«เริ่มต้น»และตั้งค่าการปิดแล้วลองเรียกใช้สคริปต์
tig

ขอบคุณ แต่นั่นก็ใช้งานไม่ได้: i.imgur.com/cCo49.png
Bemmu

คุณใช้เวอร์ชันระบบปฏิบัติการรุ่นใด (ไม่รู้ว่าสามารถเชื่อมโยงกันได้หรือไม่ฉันใช้ 10.6.4) อาจเป็นเพราะยังไม่ได้อ่านเมลเหรอ? ลองใช้mailอ่าน อาจมีบางอย่างผิดปกติกับการออกจากระบบ? คุณมี~/.bash_logoutไฟล์หรือไม่ถ้าใช่มีอะไรอยู่ภายใน ลองใช้งานbash -c exit && echo 'ok'- คุณจะเห็น 'ตกลง' และลองเรียกใช้exitในเชลล์ใหม่ - ควรปิดหน้าต่าง คุณใช้กลุ่มหน้าต่างหรือไม่? i.imgur.com/thPNV.png
tig

1
คุณสามารถวางคำสั่ง "killall Terminal" ที่ส่วนท้ายของสคริปต์หรืออะไรก็ได้? ฉันรู้ว่าจะปิดหน้าต่างไม่ว่าจะเกิดอะไรขึ้น แต่อย่างน้อยคุณก็สามารถดูว่าเกิดอะไรขึ้นในระหว่างที่สคริปต์ทำงาน
jrc03c

0

การซ่อมแซมการอนุญาตผ่านDisk utilityแอพช่วยแก้ปัญหาให้ฉันได้

ฉันเห็นข้อผิดพลาดในConsoleแอป:

20/08/2015 01:17:42.318 login[3291]: in pam_sm_open_session(): Unable to write the utmp record.
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.