Tôi đã từng tạo một tập lệnh hữu ích cho mục đích tương tự, với hàm fcd cho find-n-cd.
Bạn gõ fcd foovà 3 điều có thể xảy ra:
- Không có thư mục foo nào được tìm thấy, sau đó nó trở lại với "no such directory " $1
- Một tập tin được tìm thấy: Nó kiểm tra xem nó có phải là một thư mục (hoặc chỉ là một tập tin) hay không và nếu có thì nó sẽ ở đó. 
- Nhiều tập tin được tìm thấy - sau đó một lựa chọn được trình bày, trong đó bạn chỉ cần nhập số lượng lựa chọn (hoặc một số đặc biệt để trả về). 
Nó tương tự ở chỗ nó không cần bạn gõ toàn bộ đường dẫn, nhưng bạn đã gọi hàm một cách rõ ràng. 
#!/bin/bash
#
# find cd. For input foo, find all directories .../.../foo 
# GPLv3 Stefan Wagner (2010, 2012)
#
# doesn't handle blanks in directory names gracefully.
#
fcd () 
{
    list=$(locate $1 | egrep "/$1$")
    count=$(echo $list | wc -w )
    case $count in 
      0) 
        echo "unknown directory: "$1 && return
        # could search for partial matches Doc => Documentation
        ;;
      1) 
        if [[ -d "$list" ]]; then
        echo "$list";
        cd "$list";
        else
            echo "not a directory: $1"
        fi
        ;;
      *) 
        select directory in $list "/exit/" 
        do
          if [[ "$directory" = "/exit/" ]]; then break; fi
          if [[ -d "$directory" ]]; then
                echo "$directory";
                cd "$directory";
            break
          else
            echo "not a directory: "$1 
          fi
        done     
        ;;
   esac
}
Bạn phải sử sourcedụng hàm ( source fcd.sh| . fcd.sh) và không thể gọi nó là tập lệnh, bởi vì cdđiều khác chỉ xảy ra trong ngữ cảnh của tập lệnh và sau khi hoàn thành, bạn sẽ quay lại thư mục bắt đầu ngay lập tức.
Vì nó hoạt động với locate, nó khá nhanh trong việc tìm thư mục (nhưng không phải lúc nào cũng cập nhật).
Nó không xử lý khoảng trống trong tên thư mục một cách duyên dáng. Nếu bạn có một giải pháp tao nhã cho vấn đề tôi sẽ rất vui.
               
              
shopt -s autocdvào dòng lệnh tại nó hoạt động. Bây giờ tôi chỉ có thể bắt đầu nhập tên thư mục và sử dụng tự động hoàn tất, sau đó nhấn return và shellcdcủa thư mục. Thật tuyệt !