ฉันสงสัยว่ามีวิธีหาเชลล์เริ่มต้นของผู้ใช้ปัจจุบันภายในเชลล์สคริปต์หรือไม่?
กรณีการใช้งาน: ฉันกำลังทำงานกับสคริปต์ที่ตั้งค่านามแฝงสำหรับคำสั่งและนามแฝงนี้ตั้งอยู่ภายในเปลือกสคริปต์
!# /bin/bash
alias = 'some command to set the alias'
มีตรรกะในสคริปต์ที่พยายามค้นหาเชลล์เริ่มต้นของผู้ใช้ที่รันสคริปต์และเพิ่มชื่อแทนนี้ในไฟล์ ~ / .bashrc หรือ ~ / .zshrc ที่เกี่ยวข้อง
แต่เมื่อฉันเพิ่ม Shebang ไว้ด้านหน้าสคริปต์และขอให้มันใช้ bash อย่างชัดเจนคำตอบที่โพสต์ที่นี่จะส่งคืน bash ตามที่คาดไว้แม้ว่าฉันจะเรียกใช้สคริปต์นี้บนเทอร์มินัล ZSH
มีวิธีรับเชลล์ประเภทที่สคริปต์ทำงานหรือไม่โดยไม่คำนึงถึงชุด Shebang?
ฉันกำลังมองหาโซลูชันที่ใช้งานได้ทั้งบน Mac และลินุกซ์ทั้งหมด
/etc/passwd
มีใน OSX? ฉันดูออนไลน์อย่างรวดเร็วและปรากฏว่ามีเชลล์ไม่ใช่ชื่อผู้ใช้ ID ผู้ใช้ยังคงมีอยู่ทำไมคุณไม่ใช้มัน