shell 脚本一

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qzqanzc/article/details/85051676

数学运算

#!/bin/bash
no1=4
no2=5

let result=no1+no2
echo $result

let no1++
let no1--



let no+=6
let no-=6


#其他方法

result=$[ no1 + no2]
result=$[ $no1 + 5]

# bc 是一个用于数学运算的高级工具
echo "4 * 0.56” | bc

no=54
result=`echo "$no * 1.5" | bc`
echo $result


echo "scale=2;3/8" | bc #设置小数精度 scale=2将小数数为个数设置为2

#进制转换

no=100
echo "obase=2;$no"|bc

#计算平方以及平方根

echo "sqrt(100)" | bc 
echo "10^10"|bc

重定向

#!/bin/bash
cat<<EOF>log.txt
LOG FILE HEADER
This is a test log file
Function: System statistics
EOF

数组

#/!bin/bash
array_var=(1 2 3 4 5 6)
echo ${array_var[0]}

index=2
echo ${array_var[$index]}

#以清单形式打印出所有值
echo ${array_var[*]}

echo ${array_var[@]}

#打印数组长度
echo ${#array_var[*]}

引用数组

#!/bin/bash

declare -A ass_array
ass_array=([index1]=var1 [index2]=var2)

declare -A fruits_value
fruits_value=([apple]='100dollars' [orange]='150 dollars')
echo "Apple costs ${fruits_value[apple]}"

#列出数组元素
echo ${!fruits_value[*]}

创建别名

#!/bin/bash

alish install='sudo yum install' #创建别名 

echo 'alias cmd="command seq"' >> ~/.bashrc

查找文件

find . \( -name "*.txt" -o -name "*.sh" \) -print
find . -regex ".*\(\.py\|\.sh\)$" 
find . -iregex ".*\(\.py\|\.sh\)$" #忽略大小写
find . -maxdepth 1 -name "f*" -print  #查询的最大影响深度为1
find . -mindepth 2 -name "f*" -print  #查询的最小影响深度为2

find . -type d -print #只列出目录
find . -type f -print #值列出普通文件
find . -type l -print #列出符号链接


#根据文件时间进行搜索

#1.访问时间 -atime:最近访问
#2.修改时间 -mtime:文件最后一次修改
#3.变化时间 -ctime:最后一次改变

find . -type f -atime -7 -print #最近7天被访问过的所有文件
find . -type f +atime +7 -print #打印出访问时间超过7天的所有文件
find . -type f -atime -7 -print #打印出在最近7天内被访问过的所有文件

#基于文件大小的搜索
find . -type f -size +2k # 大于2KB的文件
find . -type f -size -2k # 小于2KB的文件
find . -type f -size 2k # 大小等于2KB的文件

#删除匹配到的文件

find . -type f -name "*.swp" -delete  #删除当前目录下所有的swp 文件

#基于文件权限和所有权匹配

find . -type f -perm 644 -print



猜你喜欢

转载自blog.csdn.net/qzqanzc/article/details/85051676