linux 脚本调用一个外部txt,Shell 脚本之编程和变量(外加实战项目)

59fbbd703981808cd380c5929771a2e6.png

本章目的:学会编程规范,变量的相关脚本操作和知识

一.Shell 脚本的概述

e45897870ee4fdcd02c837868e0c6eb0.png

二.Shell的作用

5e00d01de7025a14a9f945d0042f66b9.png

三.写第一个Shell脚本

1.写一个脚本(到BOOT目录,查看当前位置,以长格式友好显示VML开头的所有文件)

[root@localhost ~]# vim aaa.sh "随意编一个空文件以.sh为结尾"

/bin/bash "开头声明,固定格式”

一个脚本 "描述性信息可加可不加"

cd /boot/

pwd

ls -lh vml*

~

~

2.给我们的脚本加上执行权限,看一下结果

[root@localhost ~]# chmod +x aaa.sh

[root@localhost ~]# ./aaa.sh //执行脚本,这是我们最常用的方式

/boot

-rwxr-xr-x. 1 root root 5.7M 8月 10 00:26 vmlinuz-0-rescue-cc65aecf945d4dde800fe3e29ee6edbc

-rwxr-xr-x. 1 root root 5.7M 8月 23 2017 vmlinuz-3.10.0-693.el7.x86_64

3.重定向符号" > " 管道符号" | "

" > " :把左侧的命令结果重定向另一个文件或目录

[root@localhost opt]# touch abc.tt abd.txt

[root@localhost opt]# ls

abc.tt abd.txt rh

[root@localhost opt]# tar czvf test.tar.gz *.txt > test2.txt

[root@localhost opt]# ls

abc.tt abd.txt rh test2.txt test.tar.gz

[root@localhost opt]# cat test2.txt

abd.txt

[root@localhost opt]#

" | " :把左侧的命令结果,作为右侧命令的处理对象

统计所有磁盘分区的占用率

[root@localhost opt]# df -hT

文件系统 类型 容量 已用 可用 已用% 挂载点

/dev/sda2 xfs 10G 3.8G 6.3G 38% /

devtmpfs devtmpfs 898M 0 898M 0% /dev

tmpfs tmpfs 912M 0 912M 0% /dev/shm

tmpfs tmpfs 912M 9.1M 903M 1% /run

tmpfs tmpfs 912M 0 912M 0% /sys/fs/cgroup

/dev/sdb1 xfs 20G 33M 20G 1% /mnt/sdb

/dev/sda5 xfs 10G 37M 10G 1% /home

/dev/sda1 xfs 6.0G 174M 5.9G 3% /boot

tmpfs tmpfs 183M 12K 183M 1% /run/user/42

tmpfs tmpfs 183M 0 183M 0% /run/user/0

磁盘在第一列 占用率在第5列

[root@localhost opt]# df -h | grep "dev/sd*" | awk '{print $1,$5 }'

/dev/sda2 38%

tmpfs 0%

/dev/sdb1 1%

/dev/sda5 1%

/dev/sda1 3%

[root@localhost opt]#

4.变量的作用和类型

c2db5414364f64f1225030e90ee1df0c.png

预定义变量:

变量名

作用

$0

当前脚本的名字

$n

传递给脚本或者函数的参数,n表示第几个参数

$#

传递给脚本或函数的参数个数

$*

传递给脚本或函数的所有参数

$@

传递给脚本或者函数的所有参数

$$

当前shell脚本进程的PID

$?

函数返回值,或者上个命令的退出状态

5.定义一个新的变量,查看变量的值

变量名=变量值

变量名以字母或下划线开头,区分大小写

[root@localhost opt]# Producht=Python

[root@localhost opt]# Version=2.7.13

[root@localhost opt]# echo $Producht

Python

[root@localhost opt]# echo $Producht $Version

Python 2.7.13

[root@localhost opt]#

6.赋值使用各种引号,键盘输入内容为变量赋值

f48f6b5a68152655e63fdf82f7df5477.png

[root@localhost ~]# vim c.sh

#!/bin/bash

read -p "请输入一个整数" num1

read -p "请输入第二个整数" num2

~

[root@localhost ~]# chmod +x c.sh

[root@localhost ~]# ./c.sh

请输入第一个整数21

请输入的二个整数232

7.整数变量的运算

7c935305f22ebfb426299f9b9c90d317.png

8.位置变量

b2c88eee97fe4af1c01043b573dae861.png

[root@localhost ~]# vim .sss.sh

#!/bin/bash

read -p "第一个位置变量$1"

read -p "第二个位置变量$2"

sum=`expr $1 + $2`

echo "整数之和为$sum"

~

[root@localhost ~]# ./.sss.sh 23 45

第一个位置变量23

第二个位置变量45

整数之和为68

[root@localhost ~]# ./.sss.sh 64 120

第一个位置变量64

第二个位置变量120

整数之和为18

9.环境变量

7384b79cd9fd10f1118aa251e68ca6f8.png

[root@localhost ~]# echo $PWD

/root

[root@localhost ~]# echo $HOME

/root

[root@localhost ~]# echo $USER

root

[root@localhost ~]# echo $SHELL

/bin/bash

10.预定义变量

8f6d3f1eed16db12606e910b458fa072.png

#!/bin/bash

read -p "第一个位置变量$1"

read -p "第二个位置变量$2"

sum=`expr $1 + $2`

echo "整数之和为$sum"

echo "脚本名称$0"

echo "详细数字$*"

echo "参数的个数$#"

~

~

[root@localhost ~]# ./.sss.sh 64 120

第一个位置变量64

第二个位置变量120

整数之和为184

脚本名称./.sss.sh

详细数字64 120

参数的个数2

以上就是我们的所有内容了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值