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'



Funtoo-Stable Going Away

As we move towards the next generation of Funtoo Linux, funtoo-stable is being retired.
2017-07-11 by Drobbins

New Ports-2017 tree and Kits

Funtoo has a new ports-2017 tree, and introducing kits! (BETA)
2017-03-27 by Drobbins

Xorg and other Updates

Xorg and other Updates
2017-02-05 by Oleg



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