ใน Linux โดยค่าเริ่มต้น Bash จะจัดเตรียมมาตรฐานต่อไปนี้ให้ผู้ใช้ใช้ในบรรทัดคำสั่ง:
- การเติมชื่อตัวแปร
- กรอกชื่อผู้ใช้
- การดำเนินการเสร็จสิ้น
- ชื่อไฟล์และไดเร็กทอรีที่สมบูรณ์
- การกรอกชื่อโฮสต์
1. กรอกชื่อตัวแปร
หลังจากพิมพ์ $ ในเทอร์มินัลแล้ว การกดแท็บสองครั้งจะแสดงตัวแปรเชลล์ที่มีอยู่ทั้งหมดดังที่แสดงด้านล่าง
$ echo $[TAB][TAB] $_ $COMP_POINT $HOSTTYPE $PS1 $_backup_glob $COMPREPLY $IFS $PS2 $BASH $COMP_TYPE $inx $PS4 $BASH_ALIASES $COMP_WORDBREAKS $LANG $PWD $BASH_ARGC $COMP_WORDS $LANGUAGE $RANDOM $BASH_ARGV $cur $LESSCLOSE $redir $BASH_CMDS $cword $LESSOPEN $SECONDS $BASH_COMMAND $DIRSTACK $LINENO $SHELL $BASH_COMPLETION_COMPAT_DIR $DISPLAY $LINES $SHELLOPTS $BASH_LINENO $errx $LOGNAME $SHLVL $BASHOPTS $EUID $LS_COLORS $split $BASHPID $exclude $MACHTYPE $SUDO_COMMAND $BASH_REMATCH $flag $MAIL $SUDO_GID $BASH_SOURCE $FUNCNAME $MAILCHECK $SUDO_UID $BASH_SUBSHELL $GROUPS $OLDPWD $SUDO_USER $BASH_VERSINFO $__grub_script_check_program $OPTERR $suffix $BASH_VERSION $HISTCMD $OPTIND $TERM $__colormgr_commandlist $HISTCONTROL $OSTYPE $UID $COLORTERM $HISTFILE $outx $USER $COLUMNS $HISTFILESIZE $PATH $USERNAME $COMP_CWORD $HISTSIZE $PIPESTATUS $words $COMP_KEY $HOME $PPID $XAUTHORITY $COMP_LINE $HOSTNAME $prev $_xspecs
2. ชื่อผู้ใช้เสร็จสมบูรณ์
เมื่อคุณกด tab สองครั้ง หลังจาก tilde (~) bash จะเริ่มการกรอกชื่อผู้ใช้โดยอัตโนมัติ
$ cd ~[TAB][TAB] ~bala/ ~raj/ ~jason/ ~randy/ ~john/ ~ritu/ ~mayla/ ~thomas/ ~nisha/ ~www-data
โปรดทราบว่าสิ่งนี้ไม่รับชื่อผู้ใช้จากโฮมไดเร็กตอรี่ แต่จะแสดงชื่อผู้ใช้ที่มีอยู่ทั้งหมดจากไฟล์ /etc/passwd
3. ชื่อพาธเสร็จสมบูรณ์สำหรับปฏิบัติการ
เมื่อคุณพยายามรันคำสั่ง หากไฟล์สั่งการมีสิทธิ์ดำเนินการ คำสั่งจะเสร็จสิ้นโดยอัตโนมัติ หากพบรายการที่ตรงกันเพียงรายการเดียวดังที่แสดงในตัวอย่างด้านล่าง
$ ls -l /etc/init.d/reboot -rwxr-xr-x 1 root root 639 Jan 30 2013 /etc/init.d/reboot $ /etc/init.d/reb[TAB][TAB] $ /etc/init.d/reboot
เมื่อพบหลายรายการที่ตรงกัน จะแสดงคำสั่งที่ใช้ได้
4. ชื่อไฟล์และไดเร็กทอรีเสร็จสมบูรณ์
การดำเนินการนี้มีไว้สำหรับชื่อไฟล์และชื่อไดเร็กทอรีที่เกิดขึ้นที่ตำแหน่งที่สองและตำแหน่งถัดไปบนบรรทัดคำสั่ง ไม่เหมือนกับตัวอย่างข้างต้น การดำเนินการนี้จะไม่ตรวจสอบการอนุญาตใดๆ และจะแสดงเฉพาะไฟล์และไดเร็กทอรีที่มีอยู่ทั้งหมด
$ ls countfiles.sh dir1 dir2 dir3 $ cat [TAB][TAB] countfiles.sh dir1 dir2 dir3 $ cat c[TAB][TAB] $ cat countfiles.sh
นอกจากนี้ เมื่อมีไฟล์จำนวนมากที่จะแสดง แทนที่จะแสดงความเป็นไปได้ทั้งหมดบนหน้าจอ ซึ่งอาจทำให้สับสนมาก จะแสดงข้อความเตือนต่อไปนี้
$ ls -l /etc/ Display all 228 possibilities? (y or n)
5. ชื่อโฮสต์เสร็จสมบูรณ์
หากต้องการให้ชื่อโฮสต์เชื่อมต่อ ให้กด tab สองครั้งหลังสัญลักษณ์ @ ดังที่แสดงด้านล่าง:
$ ssh john@[TAB][TAB] @dev-db @fileserver @qa-server @prod-db @localhost @web-server
คุณสามารถใช้คุณลักษณะการเติมชื่อโฮสต์นี้ร่วมกับคำสั่งใดๆ ที่คุณสามารถให้ @ สำหรับชื่อโฮสต์ได้ ตัวอย่างเช่น คุณสามารถใช้สิ่งนี้กับ scp ดังที่แสดงด้านล่าง:
$ scp filename.txt john@[TAB][TAB] @dev-db @fileserver @qa-server @prod-db @localhost @web-server
โปรดทราบว่านี่จะรับชื่อโฮสต์ที่มีอยู่จากไฟล์ /etc/hosts