2010-03-16 30 views
5

Gần đây tôi đã thừa kế một hộp Ubuntu Hardy hoạt động khá thú vị. Những điều đầu tiên tôi cố gắng làm là chỉnh sửa hồ sơ .bashrc của tôi để làm một số màu và thêm một số bí danh tôi thường có, nhưng sau đó khi tôi cố gắng nguồn ~/.bashrc tôi nhận được sh: source: not found và tôi cũng nhận thấy tính năng tự động hoàn thành tab cũng không làm việc ở tất cả - Tôi tin rằng điều này được gọi là bash_completetion, nhưng như tôi chắc chắn bạn có thể nói, tôi không phải là một chuyên gia.bash_completion không hoạt động, không tìm thấy lệnh nguồn

Có bất kỳ tệp cụ thể nào mà tôi cần chỉnh sửa để có được chức năng cơ bản này mà tôi đã quen với việc xuất hiện không? và nó không phải là bất thường cho lệnh nguồn không được cài đặt?

+0

Không giống như bạn đang thực sự chạy bash nếu bạn đang nhận được một 'lỗi sh'. – Cascabel

Trả lời

11

chung quá trình suy nghĩ:

  • Sử dụng ps để xác nhận bạn đang thực sự sử dụng sh không bash

  • xác nhận rằng /bin/bash tồn tại và hoạt động đúng (và [lại] cài đặt nó nếu nó doesn' t)

  • sử dụng chsh để thay đổi vỏ đăng nhập của bạn thành bash

  • cài đặt gói bash hoàn thành nếu nó thiếu

+1

Tôi thích kiểm tra trình bao bằng cách sử dụng 'echo $ 0', xem những gì có sẵn với' cat/etc/shell' và sau đó là 'exec/bin/bash' để bắt đầu sử dụng bash mà không cần phải relog. Sau đó sử dụng 'chsh -s/bin/bash' để đặt bash làm shell đăng nhập của tôi. – spex

1

Bạn nên nhận bash: source: command not found (trừ bash rằng sẽ không bao giờ thất bại trong việc tìm source, tất nhiên). Nếu bạn nhận được sh:, thì bạn không chạy bash nào cả, hoặc chạy bash với cờ để cho nó giả vờ là vỏ Bourne /bin/sh. Gõ bash để có được một bash thực, hoặc chỉnh sửa cấu hình khởi động để nó không vượt qua lá cờ đó cho bạn (không chắc họ đang ở đâu trong Ubuntu).

0

Máy chủ Ubuntu đôi khi có/bin/sh làm trình bao mặc định. Điều này phù hợp với vấn đề bạn đã đăng, vì/bin/sh không có sẵn lệnh nguồn. Nếu bạn nhận thấy các tính năng bash bị thiếu, có thể bạn không bị bash. Dưới đây là các bước để làm theo, và một cái gì đó để nhớ mỗi khi bạn đăng nhập vào một hộp * nix mới:

  1. Kiểm tra mà bao bạn đang sử dụng với echo $0
  2. Xem gì vỏ có sẵn với cat /etc/shells
    1. Hãy tìm /bin/bash trong danh sách nếu bạn muốn sử dụng bash
    2. Nếu bash không có trong danh sách, apt-get install bash (Ubuntu/Debian cụ thể)
  3. Bắt đầu sử dụng bash với exec /bin/bash
  4. Set bash như vỏ đăng nhập của bạn với chsh -s /bin/bash
Các vấn đề liên quan