Shell 脚本之编程和变量(外加实战项目)

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

一.Shell 脚本的概述

二.Shell的作用

三.写第一个Shell脚本

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

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

/bin/bash  "开头声明,固定格式”
一个脚本  "描述性信息可加可不加"
cd /boot/        

pwd
ls -lh vml*

~
~

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

[[email protected] ~]# chmod +x aaa.sh

[[email protected] ~]# ./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.重定向符号" > " 管道符号" | "

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

[[email protected] opt]# touch abc.tt abd.txt
[[email protected] opt]# ls
abc.tt  abd.txt  rh
[[email protected] opt]# tar czvf test.tar.gz *.txt > test2.txt
[[email protected] opt]# ls
abc.tt  abd.txt  rh  test2.txt  test.tar.gz
[[email protected] opt]# cat test2.txt
abd.txt
[[email protected] opt]# 

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

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

[[email protected] 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列

[[email protected] opt]# df -h | grep "dev/sd*" | awk ‘{print $1,$5 }‘
/dev/sda2 38%
tmpfs 0%
/dev/sdb1 1%
/dev/sda5 1%
/dev/sda1 3%
[[email protected] opt]# 

4.变量的作用和类型

预定义变量:
变量名
作用
$0
当前脚本的名字
$n
传递给脚本或者函数的参数,n表示第几个参数
$#
传递给脚本或函数的参数个数
$*
传递给脚本或函数的所有参数
[email protected]
传递给脚本或者函数的所有参数
$$
当前shell脚本进程的PID
$?
函数返回值,或者上个命令的退出状态

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

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


[[email protected] opt]# Producht=Python
[[email protected] opt]# Version=2.7.13
[[email protected] opt]# echo $Producht
Python
[[email protected] opt]# echo $Producht $Version
Python 2.7.13
[[email protected] opt]# 

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

[[email protected] ~]# vim c.sh

#!/bin/bash
read -p "请输入一个整数" num1
read -p "请输入第二个整数" num2
~
[[email protected] ~]# chmod +x c.sh
[[email protected] ~]# ./c.sh
请输入第一个整数21
请输入的二个整数232

7.整数变量的运算

8.位置变量

[[email protected] ~]# vim .sss.sh

#!/bin/bash
read -p "第一个位置变量$1"
read -p "第二个位置变量$2"
sum=`expr $1 + $2`
echo "整数之和为$sum"
~
[[email protected] ~]# ./.sss.sh 23 45
第一个位置变量23
第二个位置变量45
整数之和为68
[[email protected] ~]# ./.sss.sh 64 120
第一个位置变量64
第二个位置变量120
整数之和为18

9.环境变量

[[email protected] ~]# echo $PWD
/root
[[email protected] ~]# echo $HOME
/root
[[email protected] ~]# echo $USER
root
[[email protected] ~]# echo $SHELL
/bin/bash

10.预定义变量

#!/bin/bash
read -p "第一个位置变量$1"
read -p "第二个位置变量$2"
sum=`expr $1 + $2`
echo "整数之和为$sum"
echo "脚本名称$0"
echo "详细数字$*"
echo "参数的个数$#"
~
~                       
[[email protected] ~]# ./.sss.sh 64 120
第一个位置变量64
第二个位置变量120
整数之和为184
脚本名称./.sss.sh
详细数字64 120
参数的个数2

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

原文地址:https://blog.51cto.com/14449524/2440089

时间: 2024-08-30 02:36:31

Shell 脚本之编程和变量(外加实战项目)的相关文章

关于shell脚本基础编程第四篇

shell脚本基础编程第四篇本章主要内容:函数 函数 function:             function 名称 { 命令 ; } 或 name () { 命令 ; }           定义 shell 函数.               创建一个以 NAME 为名的 shell 函数.当作为一个简单的命令启用时,           NAME 函数执行调用 shell 的上下文中的 COMMANDs 命令.当 NAME           被启用时,参数作为 $1...$n 被传递

shell脚本中特定符合变量的含义

shell脚本中特定符合变量的含义: $#   传递到脚本的参数个数 $*    以一个单字符串显示所有向脚本传递的参数.与位置变量不同,此选项参数可超过9个 $$    脚本运行的当前进程PID号 $!     后台运行的最后一个进程的进程号 [email protected]   与$*相同,但是使用时用双引号,并将各个参数加双引号返回 $-     显示shell使用的当前选项,与set命令功能相同 $_    上一个命令的最后一个参数 $?     显示最后命令的退出状态,0表示执行成功

shell脚本解析3-----局部变量与函数

#!/bin/bash hello="var1" echo $hello function func1                             #定义函数func1 { local hello="var2"                    #定义内部变量hello echo $hello } func1                                          #进行函数调用 echo $hello 执行结果: 总结:局

shell脚本之编程规范与变量

shell脚本概念 将要执行的命令按顺序保存到一个文本文件,给该文件一个可执行权限,便可运行. shell脚本的构成 1.脚本申明 脚本声明是指明用哪个解释器来解释 2.注释信息 注释信息是指明这个脚本的一些说明信息.就知道这个脚本时干什么用的了,这个信息不执行 3.可执行语句 进行执行的一些命令 执行shell脚本的方式 1.绝对路径 2.相对路径 3.sh 脚本路径 4.source 脚本路径 注意:其中,绝对路径与相对路径实行shell脚本时,该脚本文件必须要有可执行权限.Source脚本

Shell脚本的编程基础

程序:指令+数据 程序编程风格: 过程式:以指令为中心,数据服务于指令 对象式:以数据为中心,指令服务于数据 shell程序:提供了编程能力,解释执行 编程逻辑处理方式: 顺序执行 循环执行 选择执行 Shell编程:过程式.解释执行 编程语言的基本结构: 各种系统命令的组合 数据存储:变量.数组 表达式:a + b 语句:if shell脚本: 包含一些命令或声明,并符合一定格式的文本文件 格式要求:首行shebang机制 #!/bin/bash #!/usr/bin/python #!/us

shell脚本基础编程

Shell脚本编程 Shell脚本变量 :这是把hostname暂时存放在CMD中通过echo能反馈出$CMD中又hostname得命令然后直接$CMD等于直接执行hostname,$在这等于变量,变量就是暂时变换成存放在CMD值中:这得NAME=zhang而执行变量是却错了,变量中只能存命令才能执行. 在变量得时候不能加空格,多个内容得加""来包括引用.而且在等号前后不能加空格,不然无法执行.:变量也可以存放文件内容,但是必须使用反向单引号 `因为看文件其实是执行了一条命令所有得使用

linux shell脚本简单编程

文章转自:http://www.92csz.com/study/linux/14.htm 到现在为止,你明白什么是shell脚本吗?如果明白最好了,不明白也没有关系,相信随着学习的深入你就会越来越了解到底什么是shell脚本.首先它是一个脚本,并不能作为正式的编程语言.因为是跑在linux的shell中,所以叫shell脚本.说白了,shell脚本就是一些命令的集合.举个例子,我想实现这样的操作:1)进入到/tmp/目录:2)列出当前目录中所有的文件名:3)把所有当前的文件拷贝到/root/目录

Shell脚本基础、使用变量、条件测试及选择、列表式循环

Shell语言 脚本:可以运行,一个文件,可以实现某种功能(命令的堆积) [[email protected] ~]# vim /root/stu.sh echo hello worldcat /etc/redhat-releaseuname -rhostname ifconfig | head -2 [[email protected] ~]# chmod +x /root/stu.sh [[email protected] ~]# /root/stu.sh 案例1:书写一个创建用户的脚本 [

linux——Shell 脚本基础篇(变量类型,变量操作,定义,运算与逻辑关系)

Shell 脚本基础 1.变量 什么是变量 #a=1 # echo $a 1 变量:可以变化的量 1.2变量名称注意事项 变量名不能以数字开头 不能与系统中已有的环境变量重名,尽量不要全部使用大写,尽量不要使用"_"下划线开头 最好做到见名知意 不能使用程序中的保留字,列如if,for等 1.3变量类型 字符型 数值型 整型浮点型 布尔型 条件是和否 #$echo $a 引用 abc 撤销 unset +(变量名)a 1.4变量操作 * 设置变量 * 引用变量 * 撤销变量 单引号和双