Shell脚本(2)

wsl2中重启容器shell脚本 #!/bin/bash set -x set -e try_again_start() { for i in $(seq 1 4) do if [ "$i" = 4 ] then echo -e "\033[31m Too many failures, exit the program \033[0m" >&2 exit 1 fi if service docker status | grep "Docker is runn. 阅读详情

六:变量

        变量:是程序运行过程中用来存储变化数据的内存空间地址;程序在运行过程中,需要实时在操作系统或者是外部的接口(API)上获取数据,这个数据要想被调用,就必须存储下来,所以程序中变化的是内存中的数据,不变的是内存的地址
        变量名test的值为$(ifconfig ens160|grep netmask|awk ‘{print $2}’)
        变化的是变量的值也就是IP,IP在每个机器上操作系统中内容都不一样,但是对于程序而言,要想使用这个IP地址,只需要找到test这个变量名就可以了变量: 由变量名和变量的值组成,在shell中变量名和变量值之间使用等于号连接 test=$(ifconfig ens160|grep netmask|awk ‘{print $2}’)
        变量的类型:
                本地变量: 指的是由用户来进行定义的变量
                环境变量:指的是由系统来存储核心数据的变量
                变量的定义:
                本地变量 变量名=变量值
                环境变量 export 变量名=变量值
                本地变量转环境变量 export 变量名(记住不要$)
        注意: 变量的名称应以字母或者下划线开头,不能以数字开头(不能以数字开头命名,不表示名字中不能包含数字)
                本地变量可以转成环境变量
        变量的引用:
                echo $变量名 输出变量
                echo ${变量名}
        变量的区别:        
本地变量和环境变量的作用域是不同的
本地变量只能在当前shell中有效,环境变量可以在当前shell以及子shell中生效
        取消变量:
                unset 变量名(不要$)
        系统关键变量:
                PATH变量存储的是系统中可执行文件的路径,也就是应用程序必须在该目录才可以作为命令执行
                PS1 提示符变量
                HOME 用户的家目录变量
        查询系统中的变量:
                set 查询本地变量(查函数)
                env 查询环境变量

七:系统别名

        系统别名:
        别名的作用的是为了简化用户的命令执行,用户可以将常用的命令定义为别名,通过执行命令的方式来达到执行命令地目的
        定义别名:
                alias 别名=’所要执行的命令’
                查看别名:alias 查看系统中已经生效的所有别名
                取消别名:unalias 别名
                转义字符: 是为了去掉字符的特殊意义
                \ 去掉斜杠后单个字符的特殊意义
                ‘ ’ 单引号,去掉引号内所有字符的特殊意义(没有例外)
                “ ” 双引号,去掉引号内字符的特殊意义(有四个例外)其中 $ `` \ ! 这四种字符无法去掉特殊意义

八:用户登录的Shell

        用户的登录shell:
        用户不同的登录方式可以得到不同的shell操作环境;如果使用图形化登录和使用su切换,将会获取到不同的登录shell
        类型:
                登录shell:
                        图形化登录
                        字符界面登录(login登录指令)
                        切换用户(su - 登录到该用户)
                非登录shell:
                        打开虚拟终端控制台
                        执行脚本
                        su (仅切换到这个用户的身份,而不是以该用户登录操作系统)
        区别:
        登录shell 指的是该用户登录到了操作系统,而非登录shell,指的是该用户得到shell的操作环境,区别在于登录shell和非登录shell所触发的shell的文件是不同的
        登录shell触发的文件:
                /etc/brashc 全局文件 对于所有的用户生效
                /etc/profile 全局文件 对于所有的用户生效
                ~username/.bashrc 用户文件
                ~uaername/.bash_profile 用户文件
        非登录shell只会触发:
                /etc/bashrc
                ~username/.bashrc
        定义方式:
                /etc/bashrc
        将变量或者别名定义在该文件中,则系统所有用户生效无论是登录shell还是非登录shell均有效
                ~/.bashrc
        会对该用户的登录shell和非登录shell均生效
        shell文件的加载顺序?
先加载全局的文件,再加载用户的文件
        既然用户有登录shell,那是否有登出shell?
.bash_logout 用户登出触发的文件
Ubuntu 20.04下Cube-Studio云原生平台单机部署全攻略(附避坑指南) 本文详细介绍了在Ubuntu 20.04系统上单机部署Cube-Studio云原生平台的完整流程,包括环境准备、Docker配置、Rancher与Kubernetes集群部署以及Cube-Studio核心组件安装。特别提供了官方文档未涵盖的实战技巧和常见问题解决方案,帮助开发者高效完成部署并避免常见陷阱。 阅读详情

相关推荐

MATLAB实战:蓝牙GFSK调制解调全流程解析(附误码率优化技巧)

本文深入解析了蓝牙GFSK调制解调在MATLAB中的全流程实现,包括高斯滤波器设计、调制解调技术及误码率优化技巧。通过实战案例和代码示例,帮助工程师提升蓝牙通信系统的性能表现,特别是在降低误码率方面的有效方法。

weixin_29046035的博客 277

Java通过SSH2协议执行远程Shell脚本

Java通过SSH2协议执行远程Shell脚本(ganymed-ssh2-build210.jar) 该工具Jar包可在:http://www.ganymed.ethz.ch/ssh2/下载 ganymed-ssh2简介: Ganymed SSH-2

ANLJF的专栏 5778

NA400与昆仑通态MODBUS/TCP通讯调试说明

点击增加设备通道,弹出窗口进行设置,通道类型选择“0区输出继电器”,通道地址为1,通道个数为1,读写方式为读写。点击增加设备通道,弹出窗口进行设置,通道类型选择“4区输出寄存器”,数据类型选择“16位 无符号二进制”,通道地址为21001,通道个数为1,读写方式为读写。5.添加设备通道:双击莫迪康MODBUSTCP子设备,点击添加设备通道,根据Modbus规约地址表进行参数的设置,表格可在NAPro软件帮助中查看,如下图所示。然后可以在设备通道调试数据中观察到Q1的值为1,NW1的值678,表示通讯成功。

weixin_44281509的博客 2491

[ SHELL ] 如何用shell脚本优雅的启动Hive的metastore和hiveserver2!

一、编写脚本文件hive.sh #!/bin/bash HIVE_LOG_DIR=$HIVE_HOME/logs mkdir -p $HIVE_LOG_DIR #检查进程是否运行正常,参数1为进程名,参数2为进程端口 function check_process() { pid=$(ps -ef 2>/dev/null | grep -v grep | grep -i $1 | awk '{print $2}') ppid=$(netstat -nltp 2>/dev/nul

且陶陶。 551

第 4 课 树莓派5的换源与中文输入法

树莓派换源、中文输入法的安装

嵌入式老牛的博客 2288

土地利用数据从1972到2023:如何利用Landsat和Sentinel数据构建长期变化监测模型

本文详细解析了如何利用1972至2023年的Landsat和Sentinel遥感数据构建土地利用长期变化监测模型。通过多源数据融合策略、时间序列预处理流程和深度学习算法,实现高精度的土地利用分类与变化检测,为生态评估和城市规划提供科学依据。文章还探讨了验证方法和实际应用案例,展示了长期遥感数据在环境建模中的独特价值。

weixin_28720573的博客 445

shell2http:将Shell脚本转换为HTTP服务

--- ## 项目介绍 **shell2http** 是一个高效的工具,它允许开发者和系统管理员轻松地将 Shell 脚本转换成 HTTP 服务。这意味着你可以通过 HTTP 请求直接调用复杂的命令行操作或自动化任务,极大地扩展了远程管理和自动化的能力。这个开源项目利用了脚本语言的强大功能和网络服务的便利性,简化了系统操作和集成过程。 --- ## 项目快速启动 要快速启动并运行 `sh...

gitblog_01099的博客 1244

封包(一)(雷电模拟器+ProxyDroid+查尔斯3.93+WPE)

自从换了工作就没有给大家分享一些干活,在加上陪伴自己的孩子没有时间更新文章了,这只能在晚上给大家写文档了,我最近在游戏公司上班,研究封包。我把这些东西都做成了笔记,我想有些东西是大家都想弄明白d ...

寒梅独自开 1万+

shell脚本编程实践第2天

shell自动化运维day2

qq_35313692的博客 1165

freeswitch之呼叫中心acd模块开发

一、定义: ACD(Automatic Call Distributor) 自动呼叫分配,也叫智能选择座席。它是呼叫中心整个前台接入系统逻辑功能的描述:把接入的呼叫转接到正确的座席员桌前。ACD是现代呼叫中心有别于一般的热线电话系统和自动应答系统的重要标志,其性能的优劣直接影响到呼叫中心的效率和顾客的满意度。 二、ACD包含的功能点: 1 、程控交换功能 ACD在本质上也是交换机的一种类型,必须具有程控交换最基本的话务交换功能。 2 、排队功能 ACD必须具有话务排队的功能,所谓排队是指在内线都

飞鸟的博客 1870

华为OD机考2025C卷 - 高矮个子排队(Java & Python& JS & C++ & C)

华为OD机考2025C卷 - 高矮个子排队。提供在线OJ刷题。Java、C++、Python、C语言、JavaScript题解,并提供完整思路讲解。

算法大师! 1683

2.3 ubuntu自启动shell脚本

在ubuntu中创建shell脚本自启动运行C++文件

明确目标,不畏艰难,持之以恒 2118

基于多传感器融合的智身四足机器狗楼梯环境SLAM系统设计与实现

本文设计了一种基于多传感器融合的四足机器狗楼梯环境SLAM系统。系统采用Jetson Orin NX为主控制器,集成RealSense D435i深度相机和Livox Mid360激光雷达,在ROS2框架下实现平面定位精度<5cm、楼梯环境下导航不漂移的目标。通过多层次传感器融合策略、运动学约束优化和状态切换机制,解决了楼梯环境下的定位累积误差问题,实现了平面与楼梯环境的自动识别切换及精度复位功能。硬件设计注重传感器布局优化和精确标定,软件架构采用分层设计,确保实时性能。该系统为四足机器人在复杂地形中

huanghm88的专栏 243

Shell 脚本学习 part2

shell 传递参数 我们可以在执行脚本时,向脚本传递参数,脚本内获取参数的格式为:$n。n是一个数字,1为执行脚本的第一个参数,2为执行脚本的第二个参数,以此类推。。 例如执行脚本时: ./test.sh 1 2 3 #执行脚本时传入了三个参数 加入脚本的内容为: #!/bin/bash echo “执行的文件名:$0”; echo “第一个参数:$1”; ehco “第二个参数:$2”; echo “第三个参数: $3”; 执行后的结果为: 其他的参数处理: $# 传递到脚本的参

lovehang99的博客 168

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

如何用shUnit2解决Shell脚本测试难题?

你是否曾经遇到过这样的场景:精心编写的Shell脚本在Linux上运行完美,却在macOS上莫名其妙报错?或者在不同Shell环境(bash、dash、zsh)中表现不一?这些跨平台兼容性问题正是Shell脚本测试的关键痛点。shUnit2作为专为Bourne Shell设计的xUnit风格测试框架,能够帮助你构建可靠的Shell脚本测试体系。 在Shell脚本开发中,我们常常面临环境差异、路径

gitblog_00680的博客 704

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Day2 C 高级 shell指令 shell脚本

Day2 C 高级 she。ll指令 shell脚本。

weixin_42019010的博客 257

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

bin2lib shell脚本

#!/bin/sh#输入文件名filename=$1#分割文件大小filesize=4096#输出库文件名libname="lib"$(echo $filename | tr . _)".a"#输出头文件名hname=$(echo $filename | tr . _ | awk '{print $0".h"}')hdefine=$(echo ${hname}"_" | tr a-z A-Z | ...

weixin_30871701的博客 122

shell脚本中$0,$1,$2的含义

windows换行符是/r/n ,linux是/n,没有识别/r,所以会导致上述的报错,这个属于脚本编码的问题。command not found 是因为我在windows文本编辑好,复制过去的。$1:是指你写的shell脚本所传入的第一个参数;$2:是指你写的shell脚本所传入的第二个参数。$0:是指你所写的shell脚本本身的名字;

xdy762024688的博客 2375

shell脚本搭建b2c商城

shell脚本搭建b2c商城 提前先将对应的软件包上传 shell代码 echo"已提前上传文件至opt目录" #关闭防火墙 systemctl stop firewalld yum -y install unzip #jdk部署 cd /opt tar -zxvf jdk-8u151-linux-x64.tar.gz sed -e '10i export JAVA_HOME=/opt/jdk1.8.0_151' -e '10s/$/:$JAVA_HOME\/bin\//' /root/.bash_pro

蘇同学的安全屋的博客 537

shell脚本2

一.shell脚本简介 Shell脚本,就是利用Shell的命令解释的功能,对一个纯文本的文件进行解析,然后执行这些功能,也可以说Shell脚本就是一系列命令的集合。Shell可以被称作是脚本语言,因为它本身是不需要编译的,而是通过解释器解释之后再编译执行,和传统语言相比多了解释的过程所以效率会略差于传统的直接编译的语言。Shell可以直接使用在win/Unix/Linux上面,并且可以调用大量...

xiaomu_347的博客 317

Shell脚本中$0、$1、$2的含义

$0 $1 $2含义

weixin_53389944的博客 4186

Shell脚本2

定义在一个脚本文件中的变量 只能在这个脚本文件中使用的变量,局部变量语法: var_name=value变量定义规则变量名称可以有字母,数字和下划线组成, 但是不能以数字开头等号两侧不能有空格在bash环境中, 变量的默认类型都是字符串类型, 无法直接进行数值运算变量的值如果有空格, 必须使用双引号括起来不能使用Shell的关键字作为变量名称如:var1=it:变量设置值以后不可以修改的变量叫常量 ,只读变量如:var3=itt。

weixin_56541352的博客 879

【Linux】shell脚本中$0,$1,$2的含义

转载自:https://blog.youkuaiyun.com/qq_30137611/article/details/77092524 在 shell 中我们会见到 $0、$1、$2这样的符号,这是什么意思呢? 简单来说 $0 就是你写的shell脚本本身的名字, $1 是你给你写的shell脚本传的第一个参数, $2是你给你写的shell脚本传的第二个参数 比如你新建了一个shell脚本 Test.sh, 内容如下: #!/bin/sh echo "shell脚本本身的名字: $0" echo "传给shell

All_In_gzx_cc的博客 1701

探秘shUnit2:Shell脚本的单元测试利器

如果你曾经编写过Shell脚本,并希望确保其在不同环境下的稳定性与可靠性,那么shUnit2正是你需要的工具。这个开源项目提供了一个类似于Java中的JUnit和Python的PyUnit的测试框架,专门针对基于Bourne Shell的脚本设计。 ## 1、项目介绍 shUnit2是一个强大的xUnit风格的单元测试框架,它允许你在编写Shell脚本时添加详细的测试用例,以确保代码的行为符合

gitblog_00046的博客 551
上一篇: Shell脚本(1)
下一篇: Shell脚本(3)——常见的陷阱与问题
Mr_Caesar
博客等级 码龄3年 201粉丝 27原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值