千家信息网

Shell脚本中编程和变量的示例分析

发表于:2024-09-30 作者:千家信息网编辑
千家信息网最后更新 2024年09月30日,这篇文章将为大家详细讲解有关Shell脚本中编程和变量的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一.Shell 脚本的概述二.Shell的作用三.写第
千家信息网最后更新 2024年09月30日Shell脚本中编程和变量的示例分析

这篇文章将为大家详细讲解有关Shell脚本中编程和变量的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

一.Shell 脚本的概述

二.Shell的作用

三.写第一个Shell脚本

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

[root@localhost ~]# vim aaa.sh "随意编一个空文件以.sh为结尾"/bin/bash  "开头声明,固定格式"一个脚本  "描述性信息可加可不加"cd /boot/        pwdls -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]# lsabc.tt  abd.txt  rh[root@localhost opt]# tar czvf test.tar.gz *.txt > test2.txt[root@localhost opt]# lsabc.tt  abd.txt  rh  test2.txt  test.tar.gz[root@localhost opt]# cat test2.txtabd.txt[root@localhost opt]#

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

统计所有磁盘分区的占用率[root@localhost opt]# df -hT文件系统       类型      容量  已用  可用 已用% 挂载点/dev/sda2      xfs        10G  3.8G  6.3G   38% /devtmpfs       devtmpfs  898M     0  898M    0% /devtmpfs          tmpfs     912M     0  912M    0% /dev/shmtmpfs          tmpfs     912M  9.1M  903M    1% /runtmpfs          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% /boottmpfs          tmpfs     183M   12K  183M    1% /run/user/42tmpfs          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 $ProduchtPython[root@localhost opt]# echo $Producht $VersionPython 2.7.13[root@localhost opt]#

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

[root@localhost ~]# vim c.sh#!/bin/bashread -p "请输入一个整数" num1read -p "请输入第二个整数" num2~                               [root@localhost ~]# chmod +x c.sh[root@localhost ~]# ./c.sh请输入第一个整数21请输入的二个整数232

7.整数变量的运算

8.位置变量

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

#!/bin/bashread -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 $USERroot[root@localhost ~]# echo $SHELL/bin/bash

10.预定义变量

#!/bin/bashread -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脚本中编程和变量的示例分析"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

0