Difference between revisions of "Bash:Variables"
Jump to navigation
Jump to search
Line 18: | Line 18: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | =Arithmetics= | |
Bash and ksh only work with integers. | Bash and ksh only work with integers. | ||
Line 36: | Line 36: | ||
;let VAR+=2 | ;let VAR+=2 | ||
:Add two to VAR | :Add two to VAR | ||
+ | |||
+ | ==Special Parameters= | ||
+ | ;$0 | ||
+ | :Name current procedure | ||
+ | ;$1 | ||
+ | :First passed argument ($2 is the second, $3... ) | ||
+ | ;$* | ||
+ | :All arguments given as one string | ||
+ | ;$@ | ||
+ | :All arguments given as separate strings per parameter | ||
+ | ;$# | ||
+ | :The number of passed arguments | ||
+ | ;$? | ||
+ | :The returnstate for the last executed command. 0 = OK, all others not. | ||
+ | ;$$ | ||
+ | :ProcessID of current process, handy to use for temporary files | ||
+ | ;$! | ||
+ | :ProcessID of last spawned process. |
Revision as of 12:30, 8 March 2019
Bash is a *nix shell. Much more is still in the antiperfect unix site.
- echo -n <string>
- Print <string> without newline
To check within a startup script (like .bashrc) whether or not Bash is running interactively. Test if $- has an 'i' in it or if $PS1 (the prompt) exists.
case "$-" in
*i*) echo This shell is interactive ;;
*) echo This shell is not interactive ;;
esac
if [ -z "$PS1" ]; then
echo This shell is not interactive
else
echo This shell is interactive
Arithmetics
Bash and ksh only work with integers.
- +, -, *, /, %
- add, substract, multiply, divide, modulo.
- **
- For bash, Exponentiation
- 10#00012
- For bash, force the figure (00012) to be interpreted as decimal. Figures starting with 0 are considered octal by default.
- expr <expr>
- Voer expr uit, bij boolean wordt 1 (onwaar) of 0 (waar) gegeven
- ((VAR=x+y))
- let VAR=x+y
- VAR=$((x+y))
- VAR=$(expr x + y)
- Calculate and assign to VAR
- let VAR+=2
- Add two to VAR
=Special Parameters
- $0
- Name current procedure
- $1
- First passed argument ($2 is the second, $3... )
- $*
- All arguments given as one string
- $@
- All arguments given as separate strings per parameter
- $#
- The number of passed arguments
- $?
- The returnstate for the last executed command. 0 = OK, all others not.
- $$
- ProcessID of current process, handy to use for temporary files
- $!
- ProcessID of last spawned process.