You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
2.5 KiB
Markdown
60 lines
2.5 KiB
Markdown
# shell Programming
|
|
|
|
* [Tutorial](https://www.tutorialspoint.com/unix/shell_scripting.htm)
|
|
|
|
```sh
|
|
#!/bin/sh
|
|
|
|
echo "File Name: $0"
|
|
echo "First Parameter : $1"
|
|
echo "Second Parameter : $2"
|
|
echo "Quoted Values: $@"
|
|
echo "Quoted Values: $*"
|
|
echo "Total Number of Parameters : $#"
|
|
```
|
|
|
|
|
|
|
|
* while loop
|
|
|
|
```sh
|
|
#!/bin/sh
|
|
|
|
a=0
|
|
while [ "$a" -lt 10 ] # this is loop1
|
|
do
|
|
b="$a"
|
|
while [ "$b" -ge 0 ] # this is loop2
|
|
do
|
|
echo -n "$b "
|
|
b=`expr $b - 1`
|
|
done
|
|
echo
|
|
a=`expr $a + 1`
|
|
done
|
|
```
|
|
|
|
|
|
|
|
* Assume variable **a** holds 10 and variable **b** holds 20 then
|
|
|
|
| Operator | Description | Example |
|
|
| :------: | :----------------------------------------------------------: | :------------------------: |
|
|
| **-eq** | Checks if the value of two operands are equal or not; if yes, then the condition becomes true. | [ $a -eq $b ] is not true. |
|
|
| **-ne** | Checks if the value of two operands are equal or not; if values are not equal, then the condition becomes true. | [ $a -ne $b ] is true. |
|
|
| **-gt** | Checks if the value of left operand is greater than the value of right operand; if yes, then the condition becomes true. | [ $a -gt $b ] is not true. |
|
|
| **-lt** | Checks if the value of left operand is less than the value of right operand; if yes, then the condition becomes true. | [ $a -lt $b ] is true. |
|
|
| **-ge** | Checks if the value of left operand is greater than or equal to the value of right operand; if yes, then the condition becomes true. | [ $a -ge $b ] is not true. |
|
|
| **-le** | Checks if the value of left operand is less than or equal to the value of right operand; if yes, then the condition becomes true. | [ $a -le $b ] is true. |
|
|
|
|
|
|
|
|
| Operator | Description | Example |
|
|
| :------: | :----------------------------------------------------------: | :-----------------------------------: |
|
|
| **!** | This is logical negation. This inverts a true condition into false and vice versa. | [ ! false ] is true. |
|
|
| **-o** | This is logical **OR**. If one of the operands is true, then the condition becomes true. | [ $a -lt 20 -o $b -gt 100 ] is true. |
|
|
| **-a** | This is logical **AND**. If both the operands are true, then the condition becomes true otherwise false. | [ $a -lt 20 -a $b -gt 100 ] is false. |
|
|
|
|
* Other [Operator](https://www.tutorialspoint.com/unix/unix-basic-operators.htm)
|
|
|