ตามที่อธิบายไว้ในคำตอบอื่น ๆ คุณได้เปลี่ยนไดเรกทอรี แต่ภายในsub-shell ที่รันสคริปต์เท่านั้น สิ่งนี้จะไม่ส่งผลกระทบกับเปลือกหลัก
ทางออกหนึ่งคือการใช้ฟังก์ชั่นทุบตีแทนสคริปต์ทุบตี ( sh
); โดยการวางโค้ดสคริปต์ทุบตีของคุณลงในฟังก์ชั่น ซึ่งทำให้ฟังก์ชันพร้อมใช้งานเป็นคำสั่งจากนั้นสิ่งนี้จะถูกดำเนินการโดยไม่มีกระบวนการลูกดังนั้นcd
คำสั่งใด ๆจะส่งผลกระทบต่อเชลล์ผู้เรียก
ฟังก์ชั่นทุบตี:
คุณลักษณะหนึ่งของโปรไฟล์ทุบตีคือการจัดเก็บฟังก์ชั่นที่กำหนดเองที่สามารถเรียกใช้ในเทอร์มินัลหรือในสคริปต์ทุบตีแบบเดียวกับที่คุณเรียกใช้แอปพลิเคชัน / คำสั่งนี้ยังสามารถใช้เป็นทางลัดสำหรับคำสั่งยาว
เพื่อให้ระบบของคุณใช้งานได้อย่างมีประสิทธิภาพคุณจะต้องคัดลอกฟังก์ชั่นของคุณเมื่อสิ้นสุดไฟล์หลาย ๆ ไฟล์
/home/user/.bashrc
/home/user/.bash_profile
/root/.bashrc
/root/.bash_profile
คุณสามารถsudo kwrite /home/user/.bashrc /home/user/.bash_profile /root/.bashrc /root/.bash_profile
แก้ไข / สร้างไฟล์เหล่านั้นได้อย่างรวดเร็ว
ทำอย่างไร :
คัดลอกโค้ดสคริปต์ทุบตีของคุณภายในฟังก์ชั่นใหม่ในตอนท้ายของไฟล์โปรไฟล์ทุบตีและรีสตาร์ทเครื่องของคุณคุณสามารถเรียกใช้cdd
หรือฟังก์ชั่นที่คุณเขียน
ตัวอย่างสคริปต์
สร้างทางลัดไปcd ..
ด้วยcdd
cdd() {
cd ..
}
ls ทางลัด
ll() {
ls -l -h
}
ls ทางลัด
lll() {
ls -l -h -a
}