首页 > 系统相关 >shell脚本

shell脚本

时间:2024-12-22 11:31:09浏览次数:8  
标签:脚本 bin shell ifcfg echo 语句 bash ens33

# !指定要使用的 shell

/bin/sh 执行过程中,若出现命令执行失败,则会立即停止执行 /bin/bash 执行过程中,若出现命令执行失败,仍会继续执行 若不指定解释器,系统会默认使用 /bin/bash 如果使用的语法只有 bash 能解析,就必须加上 # !
静态修改 IP 脚本
#! /bin/bash cd /etc/sysconfig/network-scripts/ echo "TYPE=Ethernet" > ifcfg-ens33 echo "BOOTPROTO=static" >> ifcfg-ens33 echo "DEFROUTE=yes" >> ifcfg-ens33 echo "IPADDR=192.168.1.100" >> ifcfg-ens33 echo "NETMASK=255.255.255.0" >> ifcfg-ens33 echo "GATEWAY=192.168.1.254" >> ifcfg-ens33 echo "DNS1=218.85.157.99" >> ifcfg-ens33 echo "DNS2=114.114.114.114" >> ifcfg-ens33 echo "NAME=ens33" >> ifcfg-ens33 echo "DEVICE=ens33" >> ifcfg-ens33 echo "ONBOOT=yes" >> ifcfg-ens33 systemctl restart network
ifdown ens33 // 关闭 ens33 网卡 ifup ens33 // 打开 ens33 网卡
↓ 优化 shell 变量
命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。中间不能有空格,可以使用下划线 “_” 。 不能使用标点符号。 不能使用 bash 里的关键字(可用 help 命令查看保留关键字)。 A=123 echo $A
read
要与 Linux 交互,通过脚本获取键盘输入的结果 选项: -n :限制读取 N 个字符就自动结束读取,如果没有读满 N 个字符就按下回车或遇到换行符,则也会结束读取。 -N :严格要求读满 N 个字符才自动结束读取,即使中途按下了回车或遇到了换行符也不结束。换行符或回车算 一个字符。 -p :给出提示符。默认不支持 "\n" 换行,要换行需要特殊处理,见下文示例。例如, -p " 请输入密码: " -r :禁止反斜线的转义功能。这意味着 "\" 会变成文本的一部分。 -s :静默模式。输入的内容不会回显在屏幕上。
优化后
#! /bin/bash cd /etc/sysconfig/network-scripts/ read -p "IPADDR=" IP read -p "GATEWAY=" GATE echo "TYPE=Ethernet" > ifcfg-ens33 echo "BOOTPROTO=static" >> ifcfg-ens33 echo "DEFROUTE=yes" >> ifcfg-ens33 echo "IPADDR=$IP" >> ifcfg-ens33 echo "NETMASK=255.255.255.0" >> ifcfg-ens33 echo "GATEWAY=$GATE" >> ifcfg-ens33 echo "DNS1=218.85.157.99" >> ifcfg-ens33 echo "DNS2=114.114.114.114" >> ifcfg-ens33 echo "NAME=ens33" >> ifcfg-ens33 echo "DEVICE=ens33" >> ifcfg-ens33 echo "ONBOOT=yes" >> ifcfg-ens33 systemctl restart network
if 判断语句
if 判断语句: if 条件 then 成立 语句 else 不成立 语句 fi 条件 代码 -gt ( greater than ) 大于 -lt ( less than ) 小于 -eq ( equal ) 等于 -ne ( not equal ) 不等于 -le ( less than or equal ) 小于等于 -ge ( greater than or equal )大于等于 #! /bin/bash if [ 6 -gt 5 ] then       echo "yes" else       echo "no" fi
Linux 两个特殊文件
/dev/null: 黑洞文件(位桶) /dev/zero: 空字节填充设备
存活主机探测 -ping
ping -c2 -i0.5 -w1 IP 地址 -c: 指定发包数 -i: 发包的间隔 -w: 等待时间 ` 在前台终端要执行的命令
#! /bin/bash if `ping -c2 -i0.3 -w1 192.168.10.200 > /dev/null` then      echo "yes" else      echo "no" fi
循环语句 -for
根据取值列表循环 for 变量 in 取值列表 do 子语句 done
优化后
#! /bin/bash for ip in {1..254} do if `ping -c2 -i0.3 -w1 192.168.10.$ip > /dev/null` then      echo "192.168.10.$ip is alive" fi done
循环语句 -while
while :根据条件进行循环 while 条件 do 子语句 done
#! /bin/bash ip=0 while [ $ip -lt 254 ] do let ip++ if `ping -c2 -i0.3 -w1 192.168.10.$ip > /dev/null` then      echo "192.168.10.$ip is alive" fi done
case 选择语句
case :根据输入值选择结果 case 变量 in 模式 1 ) 子语句 ;; 模式 2 ) 子语句 ;; * ) 子语句 esac
#! /bin/bash read -p "input i:" i case $i in 1)  echo 1  ;; 2)  echo 2  ;; 3)  echo 3  ;; *)   echo none  esac
./case.sh 1         |       |         |       |         $0   $1 $0 、 $1 是 Linux 系统中的内置变量 通过执行脚本的同时在 $1 的位置进行变量值的输入
#! /bin/bash case $1 in 1)  echo 1  ;; 2)  echo 2  ;; 3)  echo 3  ;; *)  echo none esac

标签:脚本,bin,shell,ifcfg,echo,语句,bash,ens33
From: https://blog.csdn.net/m0_73932844/article/details/144643623

相关文章

  • 解锁 Postman 前置脚本的强大功能:实用案例全解析
    公众号:测试工程师成长之路一、Postman前置脚本在当今的API开发与测试领域,Postman已然成为一款广受欢迎的工具,而其中的前置脚本功能更是犹如一位得力助手,发挥着不可或缺的作用。前置脚本,简单来说,就是在发送API请求之前执行的一段JavaScript代码。它能够让我们灵......
  • 游戏脚本的无限市场
    游戏脚本的无限市场和扩展是一个涉及技术发展、市场需求、行业趋势和战略布局的复杂话题。以下是对这一主题的详细分析:1.游戏脚本语言的原理与发展游戏脚本语言在游戏开发中的作用日益凸显,从辅助工具发展成为核心技术之一。脚本语言的技术特点不断优化,如跨平台支持和性能......
  • 通过 ipconfig 命令查看网络配置信息时,可能会发现默认网关(Default Gateway)显示为 0.0.
    解决服务器默认网关显示 0.0.0.0 的问题在一些WindowsServer环境中,通过ipconfig命令查看网络配置信息时,可能会发现默认网关(DefaultGateway)显示为0.0.0.0,这通常是网络配置问题的表现。默认网关为0.0.0.0表示服务器无法正确识别或配置默认网关,导致无法通过该网关访问外......
  • PowerShell 脚本的作用是通过调用 NGEN (Native Image Generator) 工具来优化 .NET 程
    $Env:PATH=[Runtime.InteropServices.RuntimeEnvironment]::GetRuntimeDirectory()[AppDomain]::CurrentDomain.GetAssemblies()|%{ $pt=$_.Location if(!$pt){continue} if($cn++){''} $na=Split-Path-Leaf$pt Write-Host-ForegroundColorY......
  • shell4
    脚本与用户交互以及if条件判断如何在shell脚本与用户交互利用readnameage指定变量信息echo$name来接收用户输入echo$age来接收用户输入这个例子可能不清晰我们利用read-p"清输入您的姓名”name输入:xiaoyuecho$name(接收用户的输入)我们再看个例子,先进入bash......
  • shell3
    向脚本程序传递参数如何实现创建一个脚本,名字为1.sh,脚本内容如下echo执行的文件名是:$0echo第一个参数是:$1echo传递的参数作为一个字符串显示:$*echo传递的参数独立作为每个字符串显示:$@echo传递到脚本的参数个数是:$#echo最后命令的退出状态:$?echo脚本运......
  • Labelme 图片批量缩放脚本
    Labelme标注文件,批量resize图片和对应标签,可以得到更多的训练数据importcv2importosimportjsondefresize_image(image,size):#计算新的尺寸,保持宽高比r=min(size[0]/image.shape[1],size[1]/image.shape[0])dim=(int(image.shape[1]*......
  • shell常用工具与脚本
    一、Shell常用工具1.grep功能:用于在文本文件中搜索指定的模式。可以是简单的字符串,也可以是复杂的正则表达式。示例:假设我们有一个名为example.txt的文件,内容如下:applebananacherry 要查找包含an的行,可以使用命令grepanexample.txt,输出结果为banana常用选......
  • [免费]SpringBoot公司财务管理系统【论文+源码+SQL脚本】
    大家好,我是java1234_小锋老师,看到一个不错的SpringBoot公司财务管理系统,分享下哈。项目视频演示【免费】SpringBoot公司财务管理系统Java毕业设计_哔哩哔哩_bilibili项目介绍现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中......
  • PowerShell(一)
    PowerShell篇声明B站泷羽sec笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负。✍......