มันทำหน้าที่เป็นหลักในการตรวจสอบให้แน่ใจว่าหีบเครื่องมือ POSIX มีให้บริการทั้งด้านในและด้านนอกของเปลือก (ดูเหตุผลของ POSIX สำหรับการใช้งาน )
สำหรับcd
นั่นไม่เป็นประโยชน์อย่างมาก แต่โปรดทราบว่าcd
การเปลี่ยนแปลงไดเรกทอรี แต่มีผลข้างเคียงอื่น ๆ : มันคืนสถานะการออกที่ช่วยในการตรวจสอบว่าคุณสามารถchdir()
ไปที่ไดเรกทอรีนั้นหรือไม่และแสดงข้อความแสดงข้อผิดพลาดที่มีประโยชน์อธิบายว่าทำไมคุณไม่chdir()
เมื่อคุณไม่สามารถ
ตัวอย่าง:
dirs_i_am_able_to_cd_into=$(find . -type d -exec cd {} \; -print)
ผลข้างเคียงที่อาจเกิดขึ้นได้อีกอย่างหนึ่งคือการติดตั้งไดเรกทอรีโดยอัตโนมัติ
ในบางระบบคำสั่งภายนอกส่วนใหญ่สำหรับเชลล์บิลด์มาตรฐานจะถูกนำไปใช้เป็น symlink กับสคริปต์เดียวกันกับที่ทำ:
#! /bin/sh -
"${0##*/}" "$@"
นั่นคือการเริ่มต้นเปลือกและเรียกใช้ builtin ในนั้น
ระบบอื่นบางระบบ (เช่น GNU) มียูทิลิตีเหมือนกับคำสั่งที่สามารถเรียกใช้งานได้จริงซึ่งอาจทำให้เกิดความสับสนเมื่อลักษณะการทำงานแตกต่างจากเวอร์ชันของเชลล์ในตัว
/usr/bin/cd
ในตัวเชลล์เท่านั้น