คุณสามารถใช้command
เชลล์บิวด์อินเพื่อข้ามขั้นตอนการค้นหาปกติและรันคำสั่งที่กำหนดเป็นคำสั่งภายนอกโดยไม่คำนึงถึงความเป็นไปได้อื่น ๆ (เชลล์บิวด์อินชื่อแทน ฯลฯ ) สิ่งนี้มักจะทำในสคริปต์ที่ต้องพกพาข้ามระบบแม้ว่าอาจจะมากกว่าการใช้ชวเลข\
(เหมือนในหรือ\rm
มากกว่าcommand rm
หรือrm
โดยเฉพาะอย่างยิ่งในช่วงหลังอาจเป็นชื่อแทนสิ่งที่ไม่รู้จักrm -i
)
$ time
real 0m0.000s
user 0m0.000s
sys 0m0.000s
$ command time
Usage: time [-apvV] [-f format] [-o file] [--append] [--verbose]
[--portability] [--format=format] [--output=file] [--version]
[--quiet] [--help] command [arg...]
$
สามารถใช้กับนามแฝงได้เช่น:
$ alias time='command time'
$ time
Usage: time [-apvV] [-f format] [-o file] [--append] [--verbose]
[--portability] [--format=format] [--output=file] [--version]
[--quiet] [--help] command [arg...]
$
ข้อดีของการทำเช่นalias time=/usr/bin/time
นี้คือคุณไม่ได้ระบุเส้นทางแบบเต็มไปยังtime
ไบนารี แต่แทนที่จะกลับไปที่กลไกการค้นหาเส้นทางแบบปกติ
alias
คำสั่งตัวเองสามารถไปลงเช่น ~ / .bashrc หรือ /etc/bash.bashrc (หลังเป็นระดับโลกสำหรับผู้ใช้ทั้งหมดในระบบ)
สำหรับกรณีตรงข้าม (บังคับให้ใช้เชลล์ในตัวในกรณีที่มีการกำหนดนามแฝง) คุณจะต้องใช้สิ่งที่คล้ายbuiltin time
กันซึ่งจะแทนที่ขั้นตอนการค้นหาตามปกติอีกครั้งและเรียกใช้เชลล์ในตัวที่มีชื่อ หน้าคนทุบตีกล่าวถึงว่านี่มักจะใช้เพื่อให้การcd
ทำงานที่กำหนดเองด้วยฟังก์ชั่นที่มีชื่อcd
ซึ่งจะใช้ builtin cd
ในการทำสิ่งที่จริง
type -a <cmd>
นอกจากนี้คุณยังสามารถสอบถามที่คำสั่งโดยเฉพาะอย่างยิ่งจะมาจากการใช้คำสั่ง