赞
踩
1赋值
a=123
a=$p
2输入
read
-p 提示输入内容
-t 指定取值等待时间(秒)
read -p ‘please input your names:‘ a#提示语和变量之间一个空格,表示用一个空格,隔开输入;
#if 以空格隔开,连续输入,则变量a为一个数组
3输出
echo $a
条件判断
if [ “$pwd_entered” = “123456” ] #[ "之间的空格很重要构成判断=
then
echo 1
else
echo 2
fi #结束用fi
if [ `find /root -name "123.log"` ]#执行成功返回true,否则false
case 表达式 in
匹配值 1) 动作;;
匹配值 2) 动作;;
* ) 动作;;#无匹配则执行此动作
esac
循环控制语句
for 变量 in 数组
do
劢作
done
while ((1))
do
action
break
done
运算
$((1+2))
test 命令
test 命令用于检查某个条件是否成立,它可以进行数值、字符和文件三 个方面的测试。
语法 test(选项)
参数
-e 文件名 如果文件存在则为真
if test -e "/root/$fileName"
-r 文件名 如果文件存在且可读则为真
-w 文件名 如果文件存在且可写则为真
-x 文件名 如果文件存在且可执行则为真
数值测试
参数
-eq 等于则为真
if[ $a -eq $b ]
-ne 不等于则为真
-gt 大于则为真
if[ $a -gt $b ]
-ge 大于等于则为真
-lt 小于则为真
if[ $a -lt $b ]
-le 小于等于则为真
字符串测试
参数
= 等于则为真
!= 不相等则为真
-z 字符串 字符串的长度为零则为真
-n 字符串 字符串的长度不为零则为真
运算
$((1+2))=$[1+2]
`seq 5` = [1,2,3,4,5]
格式
##-n选项,不换行,-e使用制表符
for i in `seq 1 9`
do
for j in `seq 1 $i`
do
k=$[$i*$j]
##-n选项,不换行,-e使用制表符
echo -ne "$j""X""$i=$k\t"
done
echo
done
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。