shell编程

shell

编译shell

创建:vi 文件名.sh
运行:sh 文件名.sh(注意将属性改为可运行脚本,“chmod +x 文件名.sh”)

shell内编程

以 “ #!/bin/sh” 开头

数据类型

arr_number=(1 2 3 4 5) //数值类型的数组,一对括号表示数组,数组中元素用空格隔开;
arr_string=(“abc” “edf” “sss”)或者arr_string=(‘abc’ ‘edf’ ‘sss’)
其中在shell里面读取某个变量的值是前面必须加**$**。

单引号和双引号区别

单引号不会解析字符串中以$打头的变量;

双引号会解析字符串中以$打头的变量;
eg:#!/bin/sh
TIME=‘date + %Y%m%d’ #格式化输出时间
echo ‘the time is $TIME’ (原样输出:the time is $TIME)
echo “the time is $TIME” (解析字符串:the time is 20200116)

算术运算

eg:expr 3+5 //3+5
expr 3 + 5 //8
expr 3 / 5 //0
expr 3 * 5 //15
expr ‘expr 12 - 7’ / 3 //1

默认变量

$#:传入脚本命令行参数个数;
$*:所有命令行的参数值。在各个参数值之间留有空格;
$0:命令本身(shell文件名);
$1:第一个命令行参数;
$2:第二个命令行参数;

if - else(shell里编写循环)

-gt:大于
-lt:小于
-eq:等于
-ne:不等于
eg:
#!/bin/sh
if [ $# -lt 3 ];then
echo “parameters number is not correct”
else
echo “OK”
if [ $1 -lt $2 ];then

max=$2;
else

max=$1
fi
if [ $max -lt $3 ];then

max=$3
else
fi

echo “max value is:$max”
fi
运行结果
当输入的参数不足三个时:
在这里插入图片描述

while

#!/bin/sh
i=1
sum=0
while [ $i -le 100 ]
do
sum=‘expr $sum + $i’
i=‘expr $i + 1’
done
echo $sum
在这里插入图片描述

for

sum=0
for ((i=0;i<=100;i++))
do
sum=‘expr $sum + $1’
done
echo $sum
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Geminikzx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值