shell脚本应用(一)

Shell脚本是Linux系统中的命令解释器,用于接收用户命令并执行。它可以批量处理任务,执行方式包括直接运行、通过sh或source。重定向操作包括输入、输出和错误输出的管理。文章还提到了grep和awk等过滤工具,以及变量的定义、赋值和运算,包括环境变量和预定义变量。此外,讨论了位置变量和常见的环境变量如PATH、HOME等。
摘要由CSDN通过智能技术生成

shell脚本应用
linux系统中的shell脚本是一个特殊的应用程序它介于操作系统内核与用户之间充当了一个“命令解释器”的角色,负责接收用户输入的操作命令并进行解释将需要执行的操作传递给内核执行,并输出执行结果

shell脚本程序可以批量处理自动化完成一系列维护任务
1执行脚本的方法
方法一:直接执行脚本文件(需要有X的权限)
./脚本文件 或 /路径/脚本文件

方法二:sh /路径/脚本文件
sh /路径/脚本文件

方法三:source 执行脚本(source也可以用.代替)
 source /路径/脚本文件

重定向操作
重定向输入:<    重定向输出(正确):>(覆盖)>>(追加)
标准错误输出: 2>(覆盖) 2>>(追加)
混合输出:&>

管道符:将前一个命令输出的结果交给后一个命令在处理

过滤和提取
grep:过滤文本中符合条件的行
awk:在一行中提取符合条件的段
如:awk -F: '{print $1,$7}'
意思:以冒号为分隔符,提取出第一段和第七段

变量的类型
自定义变量:由用户自己定义,修改和使用
环境变量:由系统维护,用于设置工作环境
位置变量:通过命令行给脚本程序传递参数
预定义变量:bash中的内置的一类变量,不能直接修改

自定义的变量的定义
变量名=变量值
查看变量的值:echo$变量名

赋值时使用引号
双引号:允许通过$符号引用其他变量值
单引号:禁止应用其他变量值,$为普通字符
反撇号:命令替换,提取命令执行后的输出结果,为变量值可以使用$()代替

从键盘输入内容为变量赋值
read -p "提示信息“ 变量名
设置变量的作用范围:(输出为全局变量)
格式一:export 变量名
格式二:export 变量名=变量值

整数变量的运算
变量1 运算符 变量2
常用运算符:
加法运算:+
减法运算:-
乘法运算:\*
除法运算:/
求模(取余)运算:%

环境变量
查看所有的环境变量:env
常用的环境变量
PWD:保存了当前的路径
PATH:保存了命令搜索的路径
USER:保存了当前登录的用户
SHELL:保存了当前登录的shell
HOME:保存了当前用户的宿主目录

位置变量(共9个)
分别是:$1,$2,$3,....$9

预定义变量
$#:命令行中位置变量的个数
$*:所有位置变量的内容
$?:上一条命令执行后返回的状态,当返回状态值为0时表示执行正常,非0值表示执行异常或出错
$0:当前执行的进程/程序名/脚本名/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Shell脚本是一种在Unix或Linux系统下编写的脚本语言,用于自动化和批处理任务。以下是几个Shell脚本应用实例: 1. Hello World脚本:这是一个简单的Shell脚本,用于输出"Hello World!"的信息。 ``` #!/bin/bash echo "Hello World!" ``` 这个脚本通过echo命令输出了"Hello World!"的文本。 2. 杀死所有脚本:这个脚本用于通过进程名筛选并杀死所有影响系统负载的进程。 ``` #!/bin/bash ps aux | grep 指定进程名 | grep -v grep | awk '{print $2}' | xargs kill -9 ``` 这个脚本通过ps、grep和kill命令结合使用,找到指定进程名的进程并强制终止。 3. 对信号的处理:这个脚本用于拦截用户通过键盘或kill命令发送过来的信号,实现对信号的处理。 ``` #!/bin/bash trap 'echo "暂停10s"; sleep 10' 2 while : do echo "gogogo" done ``` 这个脚本使用trap命令拦截用户按下Ctrl C键发送的信号,并执行暂停十秒的操作。在这个脚本中,使用了无限循环来不断输出"gogogo"的文本。 这些是Shell脚本的一些应用实例,它们可以用于各种自动化和批处理任务,方便地完成一系列操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [100个实用的 Linux Shell 脚本经典案例](https://blog.csdn.net/qq_27706119/article/details/125812348)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [推荐超详细的5个Shell脚本实例](https://blog.csdn.net/Listen2You/article/details/100592404)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值