Difference between revisions of "Bash"
imported>ThorstenStaerk (New page: Bash is the default [http://en.wikipedia.org/wiki/Shell_(computing) shell] in most Linuxes, for example in SUSE Linux. If you call it, you get a prompt like this: tweedleburg:~ # for a co...) |
imported>ThorstenStaerk |
||
(7 intermediate revisions by the same user not shown) | |||
Line 14: | Line 14: | ||
echo "Hello $name" | echo "Hello $name" | ||
You can execute it and will be greeted by the name you give. | 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/. [http://wiki.bennyshome.de/Bash_completion_f%C3%BCr_Dell_OMSA 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 = | ||
+ | * [[bash operators]] | ||
+ | * [[scripting tutorial]] |
Latest revision as of 15:24, 21 January 2012
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
Contents
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