【shell】shell基础脚本合集

1.向脚本传递参数

#!/bin/bash
#功能:打印文件名与输入参数
#作者:OLIVER

echo $0 #打印文件名
echo $1 #打印输入参数

执行结果:

 image

2.在脚本中使用参数

#!/bin/bash
#功能:输入参数的使用
#作者:OLIVER

cp $1 $2 #根据输入参数复制文件到指定位置

执行结果:

image

3.函数的使用

#!/bin/bash
#功能:函数的使用
#作者:OLIVER

run(){
echo "Hell world"
}
run

运行结果:

image

4.连接两个字符串

#!/bin/bash
#功能:字符串连接
#作者:OLIVER

var1="My name is :"
var2="Tom"
var=${var1}${var2}
echo $var

image

5.两个整数相加

#!/bin/bash
#功能:两个整数相加
#作者:OLIVER

a=3
b=4
let sum=$a+$b
echo "The sum is :$sum"

image

除了上述方法还有其他的方法:a=1 b=2

echo $((a+b)) #方法2

echo $[ $a+$b ] #方法3

expr $a + $b #方法4

echo $a+$b|bc #方法5

awk 'BEGIN{print '"$a"'+'"$b"'}' #方法6


6.检查文件系统中是否存在某个文件

声明:文件夹/qinys/oliver下存在文件a.txt

#!/bin/bash
#功能:判断文件是否存在
#作者:OLIVER
if [ -f /qinys/oliver/a.txt ];then
echo "File exists"
else
 echo "File not exists"
 fi

运行结果:

image

7.shell脚本中的三种循环语法

#!/bin/bash
#功能:三种循环
#作者:OLIVER

#for循环
for((i=0;i<=5;i++));
do
echo "for循环第$i次"
done

echo "===================="
#while循环
count=1
while [ $count -lt 5 ];
do
echo "while循环第$count次"
let count++
done

echo "===================="
#until循环
cnt=1
until [ $cnt -gt 5 ];
do
echo "until循环第$cnt次"
let cnt++
done

image

8.读取文件的第5行

head -5 filename | tail -1

9.使用echo截取字符串的一部分

语法:

echo ${var:x:y}

x: 起始位置(不包含)

y:截取长度

例子:

Linux:/qinys/oliver # str="My name is OLIVER"&&echo ${str:3:4}
name

10.echo ${str:-2}与echo ${str: -2}的区别

假如:str=abcd

echo ${str:-2}:表示当str为空的时候,则赋予值-2

echo ${str: -2}:表示截取str的后两位

11.echo命令替换字符串的一部分

echo ${variable//pattern/replacement}

12.去除字符串中的空格

Linux:/qinys/oliver # echo "a c djk"|tr -d " "
acdjk

13.输出0到20之间5的倍数

Linux:/qinys/oliver # for (( i=0; i<=20; i=i+5 )); do echo "Welcome $i times"; done
Welcome 0 times
Welcome 5 times
Welcome 10 times
Welcome 15 times
Welcome 20 times


猜你喜欢

转载自www.cnblogs.com/OliverQin/p/10287731.html