bash est un shell plus performant que sh, le shell par défaut dans freeBSD. Il propose notamment la complémentation des path via la touche tab.
Voici comment l'installer pour un user afin d'exécuter des scripts éventuellement écrit en bash

portinstall bash

Le choix est donné entre l'installationde bash ou bash2. Personnellement j'ai opté pour le deuxième.
Pour changer de shell on peut utiliser l'outil chsh, il suffit alors de remplacer le path de sh par celui de bash sur la ligne Shell :

#Changing user information for mazenovi.
Shell: /usr/local/bin/bash
Full Name: Vincent Mazenod
Office Location:
Office Phone:
Home Phone:
Other information:


Le Mot de passe vous est demandé après enregistrement du fichier et un message vous annonce que les nouveaux paramètres ont été enregistrés.
Au prochain login, le shell sera bash (la version de bash s'affichera en préfixe à chaque ligne de commande.

Personnaliser son bash

Au moment du login sont exécutés dans l'ordre les fichiers

/etc/login.conf
~/.bash_profile
~/.bashrc

éditer/etc/login.conf

Il n'y a rien à changer. Juste une proposition qui me paraît cohérente quand on utilise les ports, c'est d'inversé l'ordre de recherche de binaire. Autrement dit de passer de
 :path=/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin /usr/X11R6/bin ~/bin:\
à
 :path=/sbin /bin /usr/games /usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /usr/X11R6/bin ~/bin:\
On s'assure ainsi d'utiliser les commandes installées via les ports plutot que celles du système
et au dire du handbook

Note: The system does not normally read the configuration in /etc/login.conf directly, but reads the database file /etc/login.conf.db which provides faster lookups. To generate /etc/login.conf.db from /etc/login.conf, execute the following command:

[root]# cap_mkdb /etc/login.conf

 

créer .bash_profile dans le home directory

# .bash_profile


if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

export BASH_ENV=$HOME/.bashrc
export LC_ALL=fr_FR.UTF-8
export LANG=fr_FR
export PAGER=less
export EDITOR=vi
export LSCOLORS='cxfxgxBxbxedabagacad'

alias h='fc -l'
alias j=jobs
alias m=$PAGER
alias ll='ls -laFo'
alias ls='ls -la -G'
alias g='egrep -i'

créer .bashrc dans le home directory

# .bashrc


if [ "$PS1" ]; then
if [ "x`tput kbs`" != "x" ]; then # We can't do this with "dumb" terminal
stty erase `tput kbs`
fi
PS1="[\u@\h \W]\\$ "

if [ "x$SHLVL" != "x1" ]; then # We're not a login shell
for i in /etc/profile.d/*.sh; do
if [ -x $i ]; then
. $i
fi
done
fi
fi

 

http://www.freebsddiary.org/prompt.php