shell脚本编程(2)

1.冒泡排序
#提示
echo “input several number:”
#-a将输入的值读取到数组array里
read -a array
#将数组的长度单独拿出来可以提高效率,使用let使变量-1,KaTeX parse error: Expected '}', got '#' at position 2: {#̲array[*]}获取数组的长…{#array[]}-1
#冒泡排序的双层循环, l e n g t h 获 取 l e n g t h 的 值 f o r ( ( i = 0 ; i < length获取length的值 for((i=0;i< lengthlengthfor((i=0;i<length;i++)){
for((j=0;j<$length-i;j++)){
#这里的[和变量之间的空格不能少,否则会报错
if [ ${array[j]} -gt KaTeX parse error: Expected 'EOF', got '#' at position 27: …} ];then #̲交换数据 temp…{array[j]}
array[j]= a r r a y [ j + 1 ] a r r a y [ j + 1 ] = {array[j+1]} array[j+1]= array[j+1]array[j+1]=temp
fi
}
}
#输出排序后的数组, a r r a y [ ∗ ] 输 出 数 组 中 的 所 有 元 素 e c h o " a f t e r s o r t : {array[*]}输出数组中的所有元素 echo "after sort: array[]echo"aftersort:{array[
]}"

2.实现三个实数大小排列
#!/bin/bash
tmp=0
echo “input the three number”
read -p “1:” a
read -p “2:” b
read -p “3:” c
if [ $a -gt b ] t h e n t m p = b ] then tmp= b]thentmp=a
a= b b = b b= bb=tmp
fi
if [ $a -gt c ] t h e n t m p = c ] then tmp= c]thentmp=a
a= c c = c c= cc=tmp
fi
if [ $b -gt c ] t h e n t m p = c ] then tmp= c]thentmp=b
b= c c = c c= cc=tmp
fi
echo “the sorted number is : $a $b $c”

3.备份日志

#!/bin/bash
#每周五使用tar命令备份/var/log下的所有日志文件
#vim/root/logbak.sh
#编写备份脚本,备份后的文件名包含日期标签,防止后面的备份将前面的备份数据覆盖
#注意date命令需要使用反引号括起来
tar -czf log-date +%Y%m%d.tar.gz /var/log
#crontab -e
#编写计划任务 执行备份脚本
00 03 * * 5 /root/logbak.sh

4.显示进度条
#!/bin/bash
#编写脚本 显示进度条
jindu()
{
while :
do
echo -n ‘#’
sleep 0.2
done
}
jindu &
cp -a $1 $2
killall $0
echo “拷贝完成”

5.编写批量修改扩展名脚本
#!/bin/bash
#编写批量修改扩展名脚本。如批量将txt文件修改为doc文件
#执行脚本时,需要给脚本添加位置函数
#脚本名 txt doc
#脚本名 doc jpg
for i in "ls .$1"
do
mv $i ${i%.
}.$2
done

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值