ฉันต้องการสร้างนามแฝงที่ทำสิ่งนี้:
alias userYYY='sudo su userYYY; cd /a/path/that/only/userYYY/has/access'
ดังนั้นแล้วจากบรรทัดคำสั่งของฉันฉันเข้าสู่ระบบด้วยผู้ใช้ sudo และผมอยากจะพิมพ์นามแฝงuserYYY
เพื่อให้เปลือกของฉันถูกบันทึกไว้ตอนนี้มีuserYYY
และเป็นpwd
/a/path/that/only/userYYY/has/access
ฉันจะทำสิ่งนั้นได้อย่างไร นี่userYYY
คือการเรียกใช้กระบวนการบางอย่างและจะต้องมีอะไรในบ้านของมัน ดังนั้นฉันพยายามเปลี่ยน $ HOME โดยใช้:
sudo usermod -m -d /a/path/that/only/userYYY/has/access userYYY
และจากเปลือกของฉันกับแฟ้ม sudoer sudo su userYYY
ของฉันฉันทำ แต่นั่นไม่ได้ผล สิ่งเดียวที่ใช้ได้คือsudo su -l userYYYY
แต่เปิด bash ใหม่ภายในเชลล์เดิมของฉัน ( -bash-4.1$ ....
)
โดยสรุปสิ่งที่ฉันต้องการคือหลีกเลี่ยงการเขียน 2 บรรทัดในเชลล์:
sudo su userYYY
cd /a/path/that/only/userYYY/has/access
ความคิดใด ๆ
bash: cannot set terminal process group (13964): Inappropriate ioctl for device\nbash: no job control in this shell