Source Repository:No results

Summary: The standard GNU Bourne-again shell.

Use Flags

Log ALL commands typed into bash; should ONLY be used in restricted environments such as honeypots
Build with custom malloc/free overwriting allocated/freed memory
Enable /dev/tcp/host/port redirection
Add support for loading builtins at runtime via 'enable'



Project Unfork Status

Here's an update on Project Unfork, plus other neat things.
2015-10-03 by Drobbins

IP Space Migration Continues

All Funtoo user containers in the 8.28 IP space will be moving into our new IP space (172.97) over the next few days. If you have DNS set up -- be sure to watch your container and update to the new IP! DNS will be updated after the move.
2015-08-27 by Drobbins

Funtoo Hosting IP Move

Funtoo user containers with IPs in the 72.18.x.x range will be gradually migrating to new IP addresses this week. If you have DNS entries for your containers, please be aware that your DNS will need to be updated.
2015-08-11 by Drobbins



We welcome improvements to this page. To edit this page, Create a Funtoo account. Then log in and then click here to edit this page. See our editing guidelines to becoming a wiki-editing pro.

This is the ebuild for bash, the standard shell for Funtoo Linux systems.

Bash is the GNU Project's Bourne Again SHell, a complete implementation of the IEEE POSIX and Open Group shell specification with interactive command line editing, job control on architectures that support it, csh-like features such as history substitution and brace expansion, and a slew of other features. [1]

Learning Bash

The following articles, written originally for IBM developerWorks by Daniel Robbins, serve as an excellent introduction to the bash shell:

Moving on Command Line

Shortcut Description
Tab Autocomplete
Ctrl + r Search as you type from lastlog
Ctrl + a Move to the start of line
Ctrl + e Move to the end of line
Ctrl + k Cut from cursor to the end of line
Ctrl + w Cut from cursor to the previous whitespace
Ctrl + c Clear line
Ctrl + l Clear screen
Alt + f Move one word forward
Alt + b Move one word backwards
Alt + d Cut from cursor to the end of word
Alt + backspace Cut from cursor to the start of word

Bash Completion

See bash completion page.

Configuration Files


~/.bashrc gets loaded on bash startup. You can source files, put aliases, functions and export variables there.

~/.bashrc (bash source code) - bash runtime configuration
source /etc/profile.d/
export EDITOR="vim"
alias mv='mv -v'
alias cp='cp -v'
alias rm='rm -v'
alias ping='ping -c 5'
alias emerge='emerge --ask-enter-invalid -av'
#unalias emerge to make it behave normally again
alias e='emerge'
alias eu='emerge -uavDN --with-bdeps=y @world'
alias used='cat  ~/.bash_history | sort | uniq -c | sort -n'
calculator() {
        echo "$@" | bc
#to add more paths:


Any file within your path will be able to utilize tab completion and can be run with out ./ You can see what paths are set by running:

# echo $PATH
ls /bin/ shows /bin/echo and many other programs that can be invoked directly because they're in your path. in this example echo hello world will be invoked using the path, absolute path, and then relative path:

# echo "hello world"
hello world
# /bin/echo "hello world"
hello world
# cd /bin && ./echo "hello world"
hello world

Process Management

To show which path a binary is loaded from:

# which rar
to run a command and have it keep running regardless of killing the terminal:

# nohup command