Shell 脚本之编程和变量(外加实战项目)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Shell 脚本之编程和变量(外加实战项目)相关的知识,希望对你有一定的参考价值。
本章目的:学会编程规范,变量的相关脚本操作和知识
一.Shell 脚本的概述
二.Shell的作用
三.写第一个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.变量的作用和类型
预定义变量:
变量名
作用
$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.赋值使用各种引号,键盘输入内容为变量赋值
[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.整数变量的运算
8.位置变量
[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.环境变量
[root@localhost ~]# echo $PWD
/root
[root@localhost ~]# echo $HOME
/root
[root@localhost ~]# echo $USER
root
[root@localhost ~]# echo $SHELL
/bin/bash
10.预定义变量
#!/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
以上就是我们的所有内容了
以上是关于Shell 脚本之编程和变量(外加实战项目)的主要内容,如果未能解决你的问题,请参考以下文章