มีวิธีใดบ้างที่ฉันสามารถส่งผ่าน Function จากผู้ใช้รายหนึ่งไปยังผู้ใช้รายอื่น?
ตัวอย่างเช่นฉันมีสคริปต์ Bash ขนาดเล็กที่ฉันเรียกใช้เป็นรูต:
#!/bin/bash
user_func(){
whoami
exit
}
su vagrant -c 'user_func'
อย่างไรก็ตามฟังก์ชั่น user_func ไม่ได้ถูกกำหนดไว้สำหรับผู้ใช้ Vagrant เฉพาะสำหรับรูทและไม่สามารถดำเนินการได้
ตัวเลือกอื่นของฉันจะมีหลายบรรทัด
su vagrant -c 'cmd1'
su vagrant -c 'cmd2'
, etc
หรือดำเนินการหลายคำสั่งเช่น: su vagrant -c 'cmd1; cmd2; cmd3;'แต่ฉันไม่ต้องการมีส่วนเกินโดยเฉพาะเมื่อพยายามเรียกใช้คำสั่งมากกว่า 5 คำสั่งในฐานะผู้ใช้ Vagrant
เป็นไปได้ไหมที่จะส่ง Function ให้กับผู้ใช้รายอื่นจากภายในสคริปต์เดียวกัน (เช่นไม่ได้สร้างสคริปต์บนดิสก์ในฐานะผู้ใช้รายอื่นแล้วเรียกใช้งานสคริปต์ที่สร้างขึ้น) หรือมีตัวเลือกอื่นที่ฉันสามารถมองเห็นได้?