1.创建脚本基本步骤:
1)创建存放脚本的文件夹
mkdir demo
2)创建空的脚本文件
touch demo.sh
3)cd进demo文件夹,编辑脚本
cd deme
vim demo.sh
脚本第一行:#!/bin/bash
4)执行脚本前,给予权限
chmod u+x demo.sh
5)执行脚本
./demo.sh
2.常用的一些脚本编辑:
1)时间计算
看个简单例子:
#!/bin/bash
timer_start=`date "+%Y-%m-%d %H:%M:%S"` //获取当前时间
echo "开始时间:$timer_start" //打印
var1=$(echo "scale=3 ; 3.44/5"|bc) //bc为打开计算器功能,3.44/5结果保留3位小数
echo The answer is $var1
sleep 3s //延时3秒
timer_end=`date "+%Y-%m-%d %H:%M:%S"` //再次获取当前时间
echo "结束时间:$timer_end"
start_seconds=$(date --date="$timer_start" +%s); //转为秒
end_seconds=$(date --date="$timer_end" +%s);
echo "start:$start_seconds"
echo "end:$end_seconds"
var3=$(($end_seconds-$start_seconds)) //时间差
echo "$var3" //得出3s
2)计数排序
cat salesdata.txt l ./ summary //cat为浏览打印命令
cat /dev/stdin | cut -d' ' -f 2,3 l sort //对txt文本的第2和3列字段进行统计
cat $1 | wc -l 统计文件有多少行
3)查看变量长度
${
#variable}
4)条件语句
基本判断语句
&&:且
||:或
!表达式: 表达式为false
-n 字符串 :字符串长度超过0
-z字符串:字符串长度为0
-eq:正数相等
-gt:大于
-ge:大于等于
-lt:小于
-d 文件:文件存在且是目录
-e文件:文件存在
-r文件:文件存在且可读
-s文件:文件存在大小大于0
-w文件:文件存在且可写
-x文件:文件存在且可执行
case条件语句:
case <variable in
<pattern 1>)
<commands>
;;
<pattern 2>)
<other commands>
;;
esac
select筛选:
select var in <list>
do
<commands>
done
循环语句:
while [ <some test> ]
do
<commands>
done
for var in <list> //{
1..6..2} 间隔为2
do
<commands>
done
for value in $1/*.html
do
cp $value $1/$( basename -s .html $value ).php
done
文件操作:
$#:输入参数的个数
$0:输出当前文件名
行列操作:
比如demo下的内容5列
df demo:
Filesystem 1K-blocksUsed Available Use% Mounted on
/dev/xvda1 83763002156692 6219608 26% /
df demo | tail -1 | awk '{ print $5}' | sed 's/%//' //取最后一行,第5列,去除%
26
函数定义:
扫描二维码关注公众号,回复:
15659533 查看本文章
function_name () {
<commands>
}