标签:shell test ;; utils 等于 字符 rect 其他 data
root@lejian:/data# cat demo1
#!/bin/bash
if date
then
echo "hello world"
fi
root@lejian:/data# ./demo1
Fri Dec 2 05:26:27 CST 2016
hello world
root@lejian:/data# cat demo2
#!/bin/bash
if aaa
then
echo "hello world"
fi
root@lejian:/data# ./demo2
./demo2: line 2: aaa: command not found
root@lejian:/data# cat demo3
#!/bin/bash
if aaa
then
echo "hello world"
else
echo "hello java"
fi
root@lejian:/data# ./demo3
./demo3: line 2: aaa: command not found
hello java
root@lejian:/data# cat demo4
#!/bin/bash
if aaa
then
echo "hello world"
elif who
then
echo "hello java"
else
echo "hello linux"
fi
root@lejian:/data# ./demo4
./demo4: line 2: aaa: command not found
root pts/0 2016-12-02 04:39 (122.91.222.126)
hello java
| 比较 | 描述 |
| n1 -eq n2 | 检查n1是否与n2相等 |
| n1 -ge n2 | 检查n1是否大于等于n2 |
| n1 -gt n2 | 检查n1是否大于n2 |
| n1 -le n2 | 检查n1是否小于等于n2 |
| n1 -lt n2 | 检查n1是否小于n2 |
| n1 -ne n2 | 检查n1是否不等于n2 |
root@lejian:/data# cat demo3
#!/bin/bash
val1=10
val2=20
if [ $val1 -gt $val2 ]
then
echo "The test value $val1 is greater than $val2 "
elif [ $val1 -lt $val2 ]
then
echo "The test value $val1 is less than $val2"
else
echo "The test value $val1 is equal $val2 "
fi
root@lejian:/data# ./demo3
The test value 10 is less than 20
| 比较 | 描述 |
| str1 = str2 | 检查str1是否和str2相同 |
| str1 != str2 | 检查str1是否和str2不同 |
| str1 > str2 | str1是否比str2大 |
| str1 < str2 | str1是否比str2小 |
| -n str1 | 检查str1的长度是否非0 |
| -z str2 | 检查str1的长度是否为0 |
root@lejian:/data# cat demo4
#!/bin/bash
testUser=$USER
badUser=Tom
if [ $USER = $testUser ]
then
echo "hello $USER"
fi
if [ $USER = $badUser ]
then
echo "hello $USER"
else
echo "User is $USER"
fi
root@lejian:/data# ./demo4
hello root
User is root
root@lejian:/data# cat demo5
#!/bin/bash
val1="hello"
val2="Hello"
if [ $val1 \> $val2 ]
then
echo "The result is $val1 greater than $val2"
elif [ $val1 \< $val2 ]
then
echo "The result is $val1 less than $val2"
fi
root@lejian:/data# ./demo5
The result is hello greater than Hello
root@lejian:/data# cat demo6
#!/bin/bash
val1="hello"
val2="world"
if [ $val1 \> $val2 ]
then
echo "The result is $val1 greater than $val2"
elif [ $val1 \< $val2 ]
then
echo "The result is $val1 less than $val2"
fi
root@lejian:/data# ./demo6
The result is hello less than world
root@lejian:/data# cat demo7 Hello hello root@lejian:/data# sort demo7 hello Hello
root@lejian:/data# cat demo8
#!/bin/bash
val1="testing"
val2=""
if [ -n $val1 ]
then
echo "The string ‘$val1‘ is not empty"
else
echo "The string ‘$val1‘ is empty "
fi
if [ -n $val2 ]
then
echo "The string ‘$val2‘ is not empty"
else
echo "The string ‘$val2‘ is empty "
fi
if [ -n $val3 ]
then
echo "The string ‘$val3‘ is not empty"
else
echo "The string ‘$val3‘ is empty "
fi
root@lejian:/data# ./demo8
The string ‘testing‘ is not empty
The string ‘‘ is not empty
The string ‘‘ is not empty
代码2-8中:
| 比较 | 描述 |
| -d file | 检查file是否存在并是个目录 |
| -e file | 检查file是否存在 |
| -f file | 检查file是否存在并是个文件 |
| -r file | 检查file是否存在并可读 |
| -s file | 检查file是否存在并非空 |
| -w file | 检查file是否存在并可写 |
| -x file | 检查file是否存在并可执行 |
| -O file | 检查file是否存在并属当前用户所拥有 |
| -G file | 检查file是否存在并且默认组与当前用户相同 |
| file1 -nt file2 | 检查file1是否比file2新 |
| file1 -ot file2 | 检查file1是否比file2旧 |
root@lejian:/data# cat demo9
#/bin/bash
if [ -d $HOME ]
then
echo "Your home directory exists"
cd $HOME
ls -a
else
echo "There is a problem with your HOME directory"
fi
root@lejian:/data# ./demo9
Your home directory exists
. .. .bash_history .bashrc .cache .hivehistory .pip .profile .pydistutils.cfg .rediscli_history .scala_history .selected_editor .spark_history .ssh .vim .viminfo
root@lejian:/data# cat demo1
#!/bin/bash
file="text"
touch $file
if [ -s $file ]
then
echo "The $file file exists and has data in it"
else
echo "The $file exists and is empty"
fi
date > $file
if [ -s $file ]
then
echo "The $file file exists and has data in it"
else
echo "The $file exists and is empty"
fi
root@lejian:/data# ./demo1
The text exists and is empty
The text file exists and has data in it
root@lejian:/data# cat demo2
#!/bin/bash
if [ -d $HOME ] && [ -w $HOME/testing ]
then
echo "The file exists and you can write it"
else
echo "I cannot write to the file"
fi
root@lejian:/data# ./demo2
I cannot write to the file
| 符号 | 描述 |
| val++ | 后增 |
| val-- | 后减 |
| ++val | 先增 |
| --val | 先减 |
| ! | 逻辑求反 |
| - | 位求反 |
| ** | 幂运算 |
| << | 位左移 |
| >> | 位右移 |
| & | 位布尔和 |
| | | 位布尔或 |
| && | 逻辑和 |
| || | 逻辑或 |
root@lejian:/data# cat demo3
#!/bin/bash
val1=10
if(($val1 ** 2 > 90))
then
((val2=$val1 ** 2))
echo "The square of $val1 is $val2"
fi
root@lejian:/data# ./demo3
The square of 10 is 100
root@lejian:/data# cat demo4
#!/bin/bash
if [[ $USER=r* ]]
then
echo "hello $USER"
else
echo "Sorry. I do not know you"
fi
root@lejian:/data# ./demo4
hello root
root@lejian:/data# cat demo5
#!/bin/bash
case $USER in
root|Tom)
echo "Welcome $USER"
echo "Please enjoy your visit";;
testing)
echo "Special testing account";;
jessica)
echo "Do not forget to log off when you‘re done";;
*)
echo "Sorry. you are not allowed here";;
esac
root@lejian:/data# ./demo5
Welcome root
Please enjoy your visit
标签:shell test ;; utils 等于 字符 rect 其他 data
原文地址:http://www.cnblogs.com/baoliyan/p/6127901.html