linux脚本让变量 1,Shell编程——编程规范与变量(1)

本文介绍Shell脚本的基础概念,包括脚本的编写、执行及变量使用。涵盖脚本声明、注释、重定向与管道操作等内容,适合初学者快速掌握Shell脚本的基本用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Shell脚本概述

shell脚本的概念:将要执行的命令按顺序保存到一个文本文件

给该文件可执行权限,便可运行

可结合各种shell控制语句以完成更复杂的操作

shell脚本应用场景:重复性操作

批量事务处理

自动化运维

服务运行状态监控

定时任务执行

...

shell的作用——命令解释器,“翻译官”介于系统内核与用户之间,负责解释命令行

9489b5ae395afb4a4188148594cd1aa1.png

用户的登录shell登录后默认使用的shell程序,一般为/bin/bash

不同shell的内部指令,运行环境等会有所区别

d692867089c0e4d2fb3cc0cfbcbd5335.png

编写第一个Shell脚本

编写脚本代码使用vim文本编辑器

每行一条Linux命令,按执行顺序依次编写[root@localhost ~]# vim first.sh 编辑第一个脚本#!/bin/bash   shell声明

#first test   注释

cd /boot/     命令行

pwd

ls -lh vml*

赋予可执行权限使脚本具有可执行属性chmod +x first.sh  赋予执行属性

执行脚本文件

需要执行权限才能执行,但是不改变位置

./first.sh

不需要执行权限,但是改变位置

. first.sh

source first.sh

不需要执行权限也不会改变位置

sh first.sh

更完善的脚本构成脚本声明

注释信息

可执行语句#!/bin/bash

#first test

cd /boot/

echo "当前的目录位于:"

pwd

echo "其中以vml开头的文件包括:"

ls -lh vml*

重定向与管道操作

交互式硬件设备

标准输入:从该设备接收用户输入的数据

标准输出:通过该设备向用户输出数据

标准错误:通过该设备报告执行出错信息

类型设备文件文件描述编号默认设备

标准输入/dev/stdin0键盘

标准输出/dev/stdout1显示器

标准错误输出/dev/stderr2显示器

重定向操作

类型操作符用途

重定向输入

重定向输出>将输出结果保存到指定的文件(覆盖原有内容)

>>将输出结果追加到指定文件

标准错误输出2>将错误信息保存到指定温家安(覆盖原有内容)

2>>将错误信息追加到指定文件中

混合输出&>将标准输出,标准错误的内容保存到同一个文件中

管道操作符号“|”将左侧的命令输出结果,作为右侧命令的出来对象

16eb5a222fce5c48ce0bcb831fb284f4.png

b777ff8f533d4bbfa31a4efc101ef0cd.png

shell变量的作用,类型

变量的作用

为灵活管理Linux系统提供特定参数,有两层意思变量名:使用固定的名称,由系统预设或用户定义

变量值:能够根据用户设置,系统环境的变化而变化

变量的类型自定义变量:由用户自己定义,修改和使用

环境变量:有系统维护,用于设置工作环境

位置变量:通过命令行给脚本程序传递参数

预定义变量:Bash中内置的一类变量,不能直接修改

自定义的变量

定义一个新的变量变量名以字母或下划线开头,区分大小写,建议全大写变量名=变量值

查看变量的值echo $变量名

1f62d3dad7193d14e050a7c57ff5f9bf.png

赋值时使用引号双引号:允许通过$符号引用其他变量值

单引号:禁止引用其他变量值,$视为普通字符

反撇号:命令替换,提取命令执行后的输出结果

从键盘输入内容为变量赋值read [-p "提示信息"] 变量名

2cac35eb90ccaceb2e43e53b167c24f8.png

设置变量的作用范围格式1:export 变量名...

格式2:export 变量名=变量值...

——两种格式可以混合使用

f1839dfa8fa47ac561ae9b53618d2988.png

整数变量的运算expr 变量1 运算符 变量2 [运算符 变量3]...

常用的运算符加法运算:+

减法运算:-

乘法运算:\*

除法运算:/

求模(取余)运算:%

小脚本实例:输入两个数字,并求出他们的和#!/bin/bash

#输入两个整数,求他们的和

#输入第一个数

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

#输入第二个数

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

#进行加法运算

sum=`expr $num1 + $num2`

#显示出两个数之和

echo "两个数字之和是:$sum"

216de5679d0a7056bf7516f42ce468ca.png

特殊的shell变量

环境变量由系统提前创建,用来设置用户的工作环境

配置文件:/etc/profile , ~/.bash_profile

常见的环境变量PWD,PATH

USER,SHELL,HOME

514582c58cbdaaacedde44d9ae6734ba.png

位置变量表示为$n,n为1~9之间的数字#!/bin/bash

echo "求和为:`expr $1 + $2`"

ef5162738b2385669644da56af643e35.png

预定义变量$#:命令行中位置变量的个数

$*:所有位置变量的内容

$?:上一条命令执行后返回的状态,当返回状态值为0时表示执行正常,非0值表示执行异常或出错

$0:当前执行的进程/程序号#!/bin/bash

echo "求和为:`expr $1 + $2`"

echo "脚本名称:$0"

echo "命令行中的变量个数:$#"

echo "所有位置变量的内容:$*"

08243052a0960a35fb3d1a0b3046ccd5.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值