簡體   English   中英

bash_completion無法正常工作,找不到源命令

[英]bash_completion not working, source command not found

我最近繼承了一個開箱即用的Ubuntu Hardy盒子。 我嘗試做的第一件事就是編輯我的.bashrc配置文件來做一些着色並添加一些我通常擁有的別名,但是當我嘗試使用〜/ .bashrc時我得到了sh: source: not found我也注意到了選項卡式自動完成功能根本不起作用 - 我相信這稱為bash_completetion,但我相信你可以告訴我,我不是專家。

我是否應該編輯任何特定文件以獲得我習慣於開箱即用的基本功能? 並沒有安裝源命令是不尋常的?

一般思考過程:

  • 使用ps確認你實際上是在使用sh而不是bash

  • 確認/bin/bash存在且工作正常(如果沒有,則重新安裝)

  • 使用chsh將登錄shell更改為bash

  • 如果缺少bash-completion包,請安裝它

你應該得到bash: source: command not found (當然,bash永遠不會找不到source )。 如果你得到sh: ,那么你要么根本不運行bash,要么運行帶有標志的bash,告訴它假裝它是Bourne shell /bin/sh 鍵入bash以獲得真正的bash,或編輯啟動配置,以便它不會為您傳遞該標志(不確定它們在Ubuntu中的位置)。

Ubuntu服務器有時將/ bin / sh作為默認shell。 這與您發布的問題一致,因為/ bin / sh沒有可用的源命令。 如果您注意到缺少bash功能,則可能是您沒有使用bash。 以下是要遵循的步驟,以及每當您登錄到新的* nix框時要記住的事項:

  1. 使用echo $0檢查您使用的shell
  2. 查看cat /etc/shells可用的cat /etc/shells
    1. 如果要使用bash,請在列表中查找/bin/bash bash
    2. 如果bash不在列表中, apt-get install bash (特定於Ubuntu / Debian)
  3. 開始使用帶有exec /bin/bash
  4. 使用chsh -s /bin/bash將bash設置為登錄shell

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM