2010-03-16 11 views
5

J'ai récemment hérité d'une boîte Ubuntu Hardy qui fonctionne plutôt funky dès le début. Les premières choses que j'ai essayé de faire ont été d'éditer mon profil .bashrc pour colorier et ajouter quelques alias que j'ai habituellement, mais quand j'essaye de source le ~/.bashrc je reçois sh: source: not found et j'ai aussi remarqué que l'autocomplétion à onglets n'est pas Travailler du tout - Je crois que cela s'appelle bash_completetion, mais comme je suis sûr que vous pouvez le dire, je ne suis pas un expert.bash_completion ne fonctionne pas, la commande source n'a pas été trouvée

Y at-il des fichiers spécifiques que je devrais modifier pour obtenir cette fonctionnalité de base que je suis habitué à out-of-the-box? et n'est-il pas inhabituel que la commande source ne soit pas installée?

+0

Ne regardez pas comme vous êtes en train de bash en cours d'exécution si vous obtenez une erreur 'sh'. – Cascabel

Répondre

11

processus de pensée générale:

  • Utilisez ps pour confirmer que vous êtes réellement à l'aide sh pas bash

  • confirment que /bin/bash existe et fonctionne correctement (et [re] l'installer si elle n » t)

  • utilisez chsh pour changer votre shell de connexion à bash

  • installer le paquet bash-completion s'il manque

+1

Je préfère vérifier mon shell en utilisant 'echo $ 0', voir quels shells sont disponibles avec' cat/etc/shells' et ensuite 'exec/bin/bash' pour commencer à utiliser bash sans avoir à reloger. Ensuite, utilisez 'chsh -s/bin/bash' pour définir bash comme shell de connexion. – spex

1

Vous devriez obtenir bash: source: command not found (sauf que bash ne manquera jamais de trouver source, bien sûr). Si vous obtenez sh:, alors vous ne courez pas du tout bash, ou exécutez bash avec le drapeau qui lui dit de prétendre que c'est le shell Bourne /bin/sh. Tapez bash pour obtenir un réel bash, ou modifiez la configuration de démarrage afin qu'elle ne passe pas ce drapeau pour vous (ne savez pas où ils sont dans Ubuntu).

0

Les serveurs Ubuntu ont parfois/bin/sh comme shell par défaut. Ceci est cohérent avec le problème que vous avez publié, car/bin/sh n'a pas la commande source disponible. Si vous remarquez des fonctionnalités de bash manquantes, il se peut que vous ne soyez pas dans bash. Voici les étapes à suivre, et quelque chose à se rappeler chaque fois que vous vous connectez à une nouvelle boîte * nix:

  1. Vérifiez shell que vous utilisez avec echo $0
  2. Voir ce que les coquilles sont disponibles avec cat /etc/shells
    1. Cherchez /bin/bash dans la liste si vous voulez utiliser bash
    2. Si bash est pas dans la liste, apt-get install bash (spécifique Ubuntu/Debian)
  3. Commencez à utiliser bash avec exec /bin/bash
  4. Set bash comme shell de connexion avec chsh -s /bin/bash