Bash

From Linuxintro
Revision as of 15:24, 21 January 2012 by imported>ThorstenStaerk (→‎See also)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Bash is the default shell in most Linuxes, for example in SUSE Linux. If you call it, you get a prompt like this:

tweedleburg:~ #

for a computer named tweedleburg. To start a program, just type its name and Enter, e.g.

tweedleburg:~ # firefox

To find out what shell you are in, echo the SHELL variable, like this:

tweedleburg:~ # echo $SHELL
/bin/bash

Programming

You can use your shell to execute little programs written in bash. For example, if you have a file myprogram containing the text

#!/bin/bash
echo "What is your name "
read name 
echo "Hello $name"

You can execute it and will be greeted by the name you give.

tweedleburg:~ # bash myprogram
What is your name
Thorsten
Hello Thorsten
tweedleburg:~ #

for loop

for ((i=1; i<6; i++)); do
  echo $i
done

OR

for i in `seq 1 5`; do echo $i; done

foreach file

This does a hexdump operation on all files:

for file in * ; do hexdump $file ${file%.*} ; done

bash completion

Bash completion is configured in all files under /etc/bash_completion.d/. Here is an example.

Konsole prompt

Enter into .bashrc:

export PS1='\[\033]0;\007\]\[\033]30;\u@\h\007\]\u@\h:\w\$ '

History

There is a history of commands that have most recently been entered. The command history will show them. To stop bash writing a history, use

export HISTFILE=/dev/null

See also