shell脚本

如何加密Shell脚本 如何在Linux环境中加密shell脚本?shell脚本包含密码,不希望其他具有执行权限的人查看shell脚本并获取密码。可以安装使用shc工具,普通用户无法读取shc创建的加密Shell脚本。SHC是指:Shell脚本编译器(Shell Script Compiler)。 环境 Centos8 安装shc [root@localhost ~]# yum -y install shc 创建一个shell脚本 下面创建一个脚本文件: [root@localhost ~]# vim w 阅读详情

Linux操作系统里面的一门脚本语言:BASH SH CSH KSH…

使用C语言写出来的一个脚本工具

vim编辑器

shell对于空格有非常严格的要求

第一行:
一定要写上脚本运行的命令所在的位置
#!/bin/bash

变量赋值:
变量的声明和赋值是不能有任何空格的;
所有的变量默认都是当成字符串保存的。
变量名=值
a=10

变量的使用:
${变量名}
echo ${a}

删除变量保存的内容:
unset 变量名

将变量变成只读的类型:
readonly 变量名;

放入单引号的变量不会被读取:
‘${变量名}’

数据类型:
字符串
拼接
变量1{变量1}变量1{变量2}

长度
${#变量名}

截取:序号从0开始
${变量名: 开始序号: 连续取值的长度}
${变量名: 开始序号} 没有连续取值长度表示取值取到最后
取最后一位 ${变量名: ${#变量名}-1: 1}

数组
变量名=(值1 值2 值3 值4 “值5” …)
${数组的变量名} 表示数组里面的第一个元素
${数组的变量名[]} 查看数组里面所有的数据
${数组的变量名[下标的序号]} 查看序号对应的值
${数组的变量名[-1]} 取数组的最后一个元素
${#数组的变量名[
]} 获取数组里面有多少元素

数组内容的修改:
数组的变量名[下标的序号]=新的值
数组的变量名[KaTeX parse error: Expected '}', got '#' at position 2: {#̲数组的变量名[*]}]=新的值…{#s[*]}]=‘蚂蚁’
unset 数组的变量名[下标的序号] 删除数组中某个序号的内容

数组没有插入的方法!

数字
–整数
+

  • echo expr ${a} \* ${b}
    / 整数和整数相除还有整数
    % 取余运算
    ** 幂运算

第一种: (((((({变量名}+${变量名}))
第二种: [[[{变量名}+${变量名}]
第三种: expr ${变量名} + ${变量名} 反引号是用来引用系统命令的
第四种: let 变量=变量1+变量2

–小数
+

“变量名+{变量名}+变量名+{变量名}”|bc

/
“scale=小数精度; 变量名/{变量名}/变量名/{变量名}”|bc

自增和自减:
a=10
a++
++a
都是a的自增
let b=++a 先自增再赋值
let b=a++ 先赋值再自增

输入输出:
打印输出:
echo 要打印的东西
打印的时候在字符串内,加上转义符:
echo -e “\t\n\c”

用户输入:
read -p “提示信息” 变量名

逻辑判断:
if判断的语法:
if test 条件判断
then
执行语句
elif test 条件判断
then
执行语句
…
else
执行语句
fi

数字的比较:
小于 -lt
大于 -gt
等于 -eq
小于等于 -le
大于等于 -ge
不等于 -ne
并且 -a
或者 -o

字符串的比较:
等于 ==
不等于 !=

read -p “number1:” a
read -p “number2:” b
read -p “number3:” c
#打印出三个变量值中数字最大的那一个
if test ${a} -ge ${b} -a ${a} -ge ${c}
then
echo ${a}
elif test ${b} -ge ${a} -a ${b} -ge ${c}
then
echo ${b}
else
echo ${c}
fi

case基本语法:
case ${变量名} in
值1) 执行语句;;
值2) 执行语句;;
…
*) 执行语句;;
esac

read -p “星期几?” day

case ${day} in
saterday)
echo ‘今天加班’;;
sunday)
echo ‘今天休息’;;
*)
echo ‘正常上班’;;
esac

case和select结合使用:
select 变量名 in 值1 值2 值3 …
do
执行语句
done

select fruit in apple pear orange pinch
do
case ${fruit} in
apple)
echo “8元”;;
pear|orange|pinch)
echo “9元”;;
*)
echo “没有其他的内容”;;
esac
exit
done

判断文件或者文件夹是否存在
第一种:
read -p “文件名:” n
a=find ./ -name ${n}
if test ${#a} -eq 0
then
echo ‘没有这个文件’
else
echo ‘文件已存在’
fi

第二种;
read -p “文件名:” n
if test -f ${n}
then
echo ‘yes’
else
echo ‘no’
fi

文件的判断用-f ,文件夹的判断用 -d

练习: select+case+if
给用户一个菜单,1.新建文件 2,新建文件夹
给用户输入文件或者文件夹名称的提示,并且保存用户输入的信息
判断这个文件或者文件夹是否存在,不存在则新建一个,存在则提示
select c in file directory
do
case ${c} in
file)
read -p ‘输入文件名:’ n
if test -f ${n}
then
echo ‘文件已存在’
else
touch ${n}
echo ‘文件新建成功’
fi;;

directory)
read -p ‘输入文件夹的名字:’ n
if test -d ${n}
then
echo ‘文件夹已存在’
else
mkdir ${n}
echo ‘文件夹创建成功’
fi;;

*) echo ‘只能选1和2!’
esac
break
done

循环控制:
for循环语法:
类python语法:
使用数组作为循环范围
for 变量名 in ${数组[*]}
do
执行语句
done

fruits=(apple pear orange pinch banana)

for f in ${fruits[*]}
do
if test ${f:0:1} == ‘p’
then
echo ${f}
fi
done

使用数字作为循环范围
s=0
for i in {1…10}
do
let s=s+i
done
echo ${s}

for i in {1…10…2}
do
echo ${i}
done

for i in seq 1 2 10
do
echo ${i}
done

类C语法:
for ((变量=初始值; 变量>=结束值; 变量的自增或者自减))
do
执行语句
done

循环关键字:
continue 跳过循环
break 跳出循环

while循环:
while [ 判断条件 ]
do
执行语句
done

n=1
while [ ${n} -lt 10 ]
do
echo ${n}
let n=n+2
done

九九乘法表
for ((i=1;i<=9;i++))
do
for ((j=1;j<=i;j++))
do
let ji=i*j
echo -e “jx{j}xjx{i}=${ji}\t\c”
done
echo
done

打印出平行四边形
#****

****

****

****

for i in {1…4}
do
let k=i-1
for ((kong=1;kong<=k;kong++))
do
echo -e " \c"
done

for j in {1…4}
do
echo -e “*\c”
done
echo
done

函数:只能返回数字
function 函数名字(){
函数的执行语句
return 数字类型
}

调用函数:
函数名字

接收函数的返回值:
$?

声明函数:
function sum_(){
let s=10+20
return KaTeX parse error: Expected 'EOF', got '}' at position 5: {s} }̲ 使用函数: sum_ 接收返…?
echo 数据的返回值是:${a}

带有输入参数的函数:
function sum_(){
let s=$1+$2
return ${s}
}

调用的时候输入参数的值:
sum_ 7 8

也可以在运行文件的时候再进行值的输入
sum_ $1 $2
sh s4.sh 5 7

∗表示传入进来的所有的数据,* 表示传入进来的所有的数据,∗表示传入进来的所有的数据,本身就是一个数组的所有内容
$# 可以查看传入进来的所有参数的数量
function sum2_(){
s=0
for i in $

do
let s=s+i
done
return ${s}
}

sum2_ 2 3 4 5 6
echo $?

在一个文件中导入另一个文件声明好的函数:
#!/bin/bash

. /usr/t1012/s4.sh

sum2_ 4 5 6 7
echo 和:$?

. 表示导入文件

编辑一个函数,函数会接收一个用户的id,根据这个id去自己的hive某个表中查询对应的年龄,并且当成返回值进行显示。

Godot 2D游戏开发实战:用GDScript复刻10款经典小游戏(附完整源码) 本文是一份Godot 2D游戏开发实战指南,通过使用GDScript语言复刻10款经典小游戏,帮助开发者快速掌握引擎核心功能。内容涵盖从环境配置、GDScript基础到贪吃蛇、Flappy Bird、打砖块、俄罗斯方块等项目的核心逻辑与代码实现,并附有完整源码,旨在通过实践提升独立开发能力。 阅读详情

相关推荐

VisionPro实战:5个工业视觉检测案例详解(附代码片段)

本文详细解析了VisionPro在工业视觉检测中的5个实战案例,包括PCB焊点质量检测、汽车齿轮尺寸测量、药品包装缺陷检测等。通过硬件配置方案和软件算法流程的详细介绍,帮助工程师快速掌握VisionPro的应用技巧,提升工业自动化检测效率。

weixin_29284657的博客 518

shell 脚本入门

一、什么是shell 脚本: 如果此时需要在终端中输入一系列命令完成一些操作,但是我们一条一条输入命令,这样就会很麻烦。那么有没有一种方式可以将很多条命令放到一个文件里面,然后直接运行这个文件即可?有!就是 shell 脚本! shell 脚本类似 windows 的批处理文件,shell 脚本就是将连续执行的命令写成一个文件。 shell 脚本提供数组、循环、条件判断等功能。shell 脚本一般是 Linux 运维或者系统管理员需要掌握的。 二、shell 脚本写法: shell 脚本是个纯文本文件,命令

莘莘的博客 1万+

工厂自动化布线实战:从功率计算到线槽布局的完整避坑指南

本文详细介绍了工厂自动化布线的实战经验,从功率计算到线槽布局的完整避坑指南。通过三步计算法确定线径需求,强调电压降控制的重要性,并分享线槽布局的50%法则和强弱电分离技巧。特别针对移动设备和多芯信号线提供专业解决方案,帮助工程师避免常见错误,提升布线效率和质量。

weixin_29266007的博客 352

如何编写Shell脚本

什么是shell脚本 Shell 脚本(shell script),是一种为 shell 编写的脚本程序。shell script是一种解释型语言,必须由解释器来执行这些脚本,执行时,解释器将脚本一行一行地转换为代码。 这个解释器就是Shell,它是一个用 C 语言编写的程序。常见的Shell有Bourne Shell(/usr/bin/sh或/bin/sh)和Bourne Again Shell...

施勇 1万+

RK3588平台-ES8388音频驱动调试与设备树配置实战

本文详细解析了在RK3588平台上调试ES8388音频驱动的实战过程。内容涵盖Linux音频驱动的三层架构(Machine、Platform、Codec),并重点提供了设备树(DTS)的完整配置示例,包括I2C节点、声卡节点及音频路由设置。文章还分享了驱动加载验证、amixer调试命令以及常见问题(如无声、变调)的排查思路,旨在帮助开发者快速完成RK3588与ES8388的音频系统集成。

mango的博客 806

【IPAM】Netbox docker模式版本升级

NETBOX 是一个开源的网络资源管理系统,主要用于管理 IP 地址、机架、设备、接口等网络资源信息。下面是 NETBOX 的功能、优点和缺点的详细介绍。

u012153104的博客 1329

简单的Shell脚本

Shell 是一个C 语言编写的脚本语言,它是用户与Linux的桥梁,用户输入命令交给 Shell 处理。Shell 将相应的操作传递给内核(Kernel),内核把处理的结果输出给用户。shell编程通常指的是学习shell命令语法后,利用这套语法开发脚本程序,操作、访问内核服务。而不是使用C语言去编写一个shell程序。

m0_70882914的博客 1298

【HSPiP应用指南】从理论到实践:如何利用汉森溶解度参数优化配方设计

本文深入解析了汉森溶解度参数(HSP)理论及其在配方设计中的核心价值,并详细介绍了如何利用HSPiP软件工具从理论走向实践。文章通过匹配溶解度参数、计算汉森距离(Ra),系统阐述了如何解决溶剂选择、颜料分散稳定性及扩散行为预测等关键问题,并结合界面气相色谱(IGC)等实验方法提升预测精度,旨在帮助配方师实现配方设计的可视化、可量化与高效优化。

weixin_29305313的博客 1646

shell脚本竟如此简单【shell脚本基础】

学习shell脚本基础编程

Parzaifal的博客 1235

从URDF到Gazebo:一个完整的ROS2机械臂仿真项目实战与避坑指南

本文提供了一个完整的ROS2机械臂仿真项目实战指南,详细讲解了从URDF建模、ROS2 Control配置、MoveIt2集成到Gazebo仿真的全流程。文章重点分享了URDF惯性参数设置、Gazebo插件选择、MoveIt2配置修正等关键步骤的避坑经验,帮助开发者快速搭建可用的六轴机械臂仿真环境,实现从静态模型到物理仿真的跨越。

weixin_29279153的博客 275

深入详细分析Skyworks 78113 PAMiD射频方案图

是一种高集成度的射频前端模块,它结合了功率放大器(PA)、双工器(Duplexer)、滤波器和开关等多个组件,主要用于4G LTE移动通信系统中的射频前端链路。是一款典型的PAMiD模块,通过将多个频段的发射(TX)和接收(RX)路径集成在一个模块中,大大减少了传统射频设计中的分立器件,同时提高了信号链路的效率和可靠性。模块化设计的优势PCB空间优化:高集成度设计大幅减小了射频电路的尺寸,适用于紧凑型移动设备。减少设计复杂度:模块化设计减少了器件间的匹配与调试工作,加速产品开发周期。性能稳定性。

weixin_43199439的博客 1480

什么是Shell脚本以及Shell脚本的基础语法

Shell是操作系统的命令解释器(Command Interpreter),它接收用户输入的命令,将其翻译为内核能理解的指令,并返回执行结果。广义 Shell:指所有命令行界面(如 Bash、Zsh、Fish)狭义 Shell:特指—— Linux 默认 Shellsh(Bourne Shell):原始 Unix Shellbash(Bourne Again Shell):Linux 主流,兼容 shzsh:功能增强版,macOS 默认(自 Catalina 起)csh/tcsh。

2203_75492008的博客 5219

置顶必读(2) |《YOLOv8实战:从入门到深度优化》总目录导航 & 学习路线指南(持续更新中)

🏆 本文收录于 《YOLOv8实战:从入门到深度优化》 专栏。该专栏系统复现并梳理全网各类 YOLOv8 改进与实战案例(当前已覆盖分类 / 检测 / 分割 / 追踪 / 关键点 / OBB 检测等方向),坚持持续更新 + 深度解析,质量分长期稳定在 97 分以上,可视为当前市面上 覆盖较全、更新较快、实战导向极强 的 YOLO 改进系列内容之一。

**My Coding Family** 28万+

Shell脚本编程

在Linux内核与用户之间的解释器程序Linux默认解释器为/bin/bash负责向内核翻译及传达用户/程序指令相当于操作系统的“外壳”提前写好可执行语句,能够完成特定任务的文件顺序、批量化处理解释型程序常见的脚本语言:bash,python,jsp,php,ruby等脚本创建“三步走”新建文本文件(shell脚本)添加可执行的脚本语句(命令行)添加x执行权限。

qq_45585805的博客 1270

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Shell脚本基础

shell 是一种脚本语言 脚本:本质是一个文件,文件里面存放的是 特定格式的指令,系统可以使用脚本解析器 翻译或解析 指令 并执行(它不需要编译) shell 既是应用程序 又是一种脚本语言(应用程序 解析 脚本语言)打开文本编辑器(vi/vim),新建一个文件first.sh,扩展名为sh(sh代表shell)。扩展名并不 影响脚本执行。 运行Shell脚本方式1. 作为可执行程序 将上面的代码保存为first.sh,并cd到相应目录: $ chmod +x first.sh $ ./first.s

Z2460986913的博客 786

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

vi新建一个shell脚本_编写第一个Shell脚本

Linux中有好多中不同的shell,bash是linux默认的shell,免费且容易使用。su切换为root权限1.创建shell脚本touch hello.sh2.编辑:vi hello.sh内容#! /bin/bash#the first programecho "hello world"3.保存并退出按Esc取消插入,输入:wq保存==================可以使用bash运行h...

weixin_28864249的博客 6136

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

测试shell脚本有没有问题 shell脚本测试 shell脚本的调试方法 shell脚本应知应会必知必会

测试shell脚本有没有问题 shell脚本测试 shell脚本的调试方法 shell脚本应知应会必知必会

yiyidumeng的博客 2574

openEuler中shell脚本

openEuler中shell脚本使用

m0_45861121的博客 4660

Linux Shell 和 Shell 脚本简介

负责为用户提供接口以便他/她可以访问 shell 的程序。它基本上允许用户在基于文本的界面中输入命令并查看这些命令的输出。为自动化和执行复杂任务而编写的大型脚本在终端中执行。要访问终端,只需在搜索框中搜索“终端”并双击它。打开终端在这里,您可以看到 Red Hat Linux 的终端外观。终端Shell 脚本通常,shell 是交互式的,这意味着它们接受来自用户的命令作为输入并执行它们。但是,有时我们想例行公事地执行一堆命令,因此我们每次都必须在终端中输入所有命令。

jianqimingtian的博客 923

Shell、Shell脚本、Shell命令

Shell、Shell脚本、Shell命令: 一:Shell是什么? 在计算机中,Shell俗称壳(用来区别于核), 是指:为使用者提供操作界面的软件(命令解析器)。 Shell是Linux和Unix下的命令解析器。 类似于DOS和Windows下的命令解析器:command.com、cmd.exe。 这个Shell(命令解析器)的作用: 用于接收用户命令,然后调用相应的应用程序。 (将用户输入的...

SeniorShen的博客 2297

adb shell 执行sh脚本_Shell命令脚本初步认识,Shell脚本入门

基于linux就改这么学的demo简单的Shell脚本Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 脚本(shell script),是一种为 shell 编写的脚本程序。业界所说的 shell 通常都是指 shell 脚本,,shell 和 shell script 是两个不同的概念。Shell 脚本文件的名称可以任意,但为了避免被误以为是普通文件,建议...

weixin_42393261的博客 2392

Shell脚本调试方法 Shell脚本执行的过程

1Shell脚本调试方法 Shell提供了一些用于调试脚本的选项: -n,读一遍脚本中的命令但不执行,用于检查脚本中的语法错误。-v,一边执行脚本,一边将执行过的脚本命令打印到标准错误输出。-x,提供跟踪执行信息,将执行的每一条命令和结果依次打印出来。 使用这些选项有三种方法。比如现有如下已获取运行权限脚本文件function.sh:

记一忘三二 2万+
上一篇: Python基础(操作数据库和爬虫)
下一篇: 面试吹牛之前先打个草稿!
一凡888
博客等级 码龄7年 1755粉丝 217原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一凡888

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值