imported>ThorstenStaerk |
imported>ThorstenStaerk |
Line 1: |
Line 1: |
− | This is a tutorial for [[bash]] [[shell]] [[scripting]].
| + | #REDIRECT [[shut down your firewall]] |
− | | |
− | = Hello world =
| |
− | echo "hello world"
| |
− | | |
− | #!/bin/bash
| |
− | echo "hello world"
| |
− | | |
− | = input =
| |
− | echo "what is your name? "
| |
− | read name
| |
− | echo "hello $name"
| |
− | Note that the variable is called $name, however the correct statement to read it is
| |
− | read name
| |
− | It is a common mistake to write
| |
− | read $name
| |
− | which means "read a string and store it into the variable whose name is stored in $name"
| |
− | | |
− | = conditions =
| |
− | echo "what is your name? "
| |
− | read name
| |
− | if [ $name = "Thorsten" ]; then echo "I know you"
| |
− | | |
− | == common mistakes ==
| |
− | Common mistakes are:
| |
− | * to forget the blank behind/before the [ or ] character
| |
− | * to forget the blank behind/before the equal sign
| |
− | * see [[what does "unary operator expected" mean]]
| |
− | | |
− | = line feeds =
| |
− | Let's look at the following script:
| |
− | read name
| |
− | if [ $name = "Thorsten" ]; then echo "I know you"
| |
− | Instead of a semicolon you can write a line feed like this:
| |
− | read name
| |
− | if [ $name = "Thorsten" ]
| |
− | then echo "I know you"
| |
− | And instead of a line feed you can use a semicolon:
| |
− | read name; if [ $name = "Thorsten" ]; then echo "I know you"
| |
− | If you want to insert a line feed where you do not need one, e.g. to make the code better readable, you must prepend it with a backslash:
| |
− | read \
| |
− | name
| |
− | if [ $name = "Thorsten" ]
| |
− | then \
| |
− | echo "I know you"
| |
− | | |
− | = calling commands =
| |
− | Calling [[command]]s in a bash script is as easy as it can be: You just write the command to be called, like this:
| |
− | echo "Now calling a browser"
| |
− | firefox
| |
− | echo "Continuing with the script"
| |
− | | |
− | = See also =
| |
− | * [[bash]]
| |
− | * [[shell]]
| |
− | * [[scripting]]
| |
− | * [[bash operators]]
| |
− | * http://en.wikibooks.org/wiki/Bash_Shell_Scripting
| |
− | * http://wiki.linuxquestions.org/wiki/Bash_tips
| |
− | * http://wiki.linuxquestions.org/wiki/Bash
| |