Shell(bash)脚本入门

利用宏感染Word文档获取Shell 通过插入恶意宏并传播包含恶意宏的文档,攻击者可以获取受害者的Shell。利用宏感染Word文档获取Shell 的攻击原理基于恶意宏(Macro)的利用。攻击者通过在Word文档中插入恶意宏,当受害者打开该文档时,恶意宏将被执行,从而导致Shell(命令行界面)的获取。当受害者打开包含恶意宏的文档时,恶意宏将执行Shell 函数调用,与远程主机建立连接并获取Shell。上述恶意宏代码在文档打开时会自动执行,它使用Shell函数调用cmd.exe 并与远程主机建立连接,从而获取Shell。 阅读详情

依旧摘自阮大佬的Bash教程,这里仅做个人学习记录。

脚本参数

script.sh word1 word2 word3

上面例子中,script.sh是一个脚本文件,word1、word2和word3是三个参数。

脚本文件内部,可以使用特殊变量,引用这些参数:

  • $0:脚本文件名,即script.sh
  • $#:参数的数量
  • $1~$9:对应脚本的第一个参数到第九个参数
  • $@:全部的参数,参数之间使用空格分隔
  • $*:全部的参数,参数之间使用变量$IFS值的第一个字符分隔,默认为空格,但是可以自定义。

如果脚本的参数多于9个,那么第10个参数可以用${10}的形式引用,以此类推。

下面是一个脚本内部读取命令行参数的例子:

#!/bin/bash
# script.sh

echo "全部参数:" $@
echo "命令行参数数量:" $#
echo '$0 = ' $0
echo '$1 = ' $1
echo '$2 = ' $2
echo '$3 = ' $3

执行结果如下:

$ ./script.sh a b c
全部参数:a b c
命令行参数数量:3
$0 =  script.sh
$1 =  a
$2 =  b
$3 =  c

注释

Bash 脚本中,#表示注释,可以放在行首,也可以放在行尾。
建议在脚本开头,使用注释说明当前脚本的作用,这样有利于日后的维护。

命令执行结果

命令执行结束后,会有一个返回值。
0表示执行成功,非0(通常是1)表示执行失败。
环境变量$?可以读取前一个命令的返回值。

利用这一点,可以在脚本中对命令执行结果进行判断:

cd $some_directory
if [ "$?" = "0" ]; then
  rm *
else
  echo "无法切换目录!" 1>&2
  exit 1
fi

注:fi为if语句的结束,相当于end

source 命令

加载配置文件

source命令用于执行一个脚本,通常用于重新加载一个配置文件:source .bashrc。

source命令最大的特点是在当前 Shell 执行脚本,不像直接执行脚本时,会新建一个子 Shell。所以,source命令执行脚本时,不需要export变量。

加载外部库

source命令的另一个用途,是在脚本内部加载外部库

#!/bin/bash

source ./lib.sh

function_from_lib

source有一个简写形式,可以使用一个点.来表示:

在这里插入图片描述
注意:这两个点之间是有空格的!

执行权限和路径

(待续~)

linux shell入门之bash启动脚本 1.简介 当linux系统的运行级别为3时,用户可以从本地登陆到系统控制台 当运行级别为5时,直接以图形界面方式登陆 用户登陆时,bash将会使用以下初始化文件和启动脚本 /etc/profile:系统级的初始化文件,定义了一些环境变量,由登陆shell调用执行 /etc/bash.bashrc或/etc/bashrc:文件名随着不同的linux版本而不同,每个交互式shell的系统级启动脚本 /etc/bash.logout:系统级的登陆shell清理脚本,当登陆shell退出时执行。.. 阅读详情

相关推荐

word源码java-Windows_Shell_Scripts:Windows下的常用脚本

word源码java Windows环境下可能用到的shell脚本与Office VBA代码 Microsoft Word 代码表格 可以自动生成容纳代码的表格,设置底纹为RGB(39, 40 34),搭配Notepad++的NppExport -> Copy HTML to Clipboard,完美实现源代码的呈现。 可以在下面的链接中找到源下载地址。 管理员取得所有权 有些文件夹的读写需要管理员权限,导入这个注册表文件,可以快速把管理员取得所有权这一个选项加入到右键菜单。 可以在下面的链接中找到源下载地址。 minttyrc Cygwin的配置文件。使用的时候千万不要设置Java的字符环境变量。PICK之后就彻底乱了! vimrc 这是一个很复杂的vim配置文件,不建议使用vim做开发。

在word中显示代码片段(推荐!)

我们常常需要在word中插入代码,总是需要让大片的代码看起来美观统一,为了能够得到统一的代码格式如下图: 这里我推荐一个网站可以将各种语言的代码变成上述格式 http://planetb.ca/syntax-highlight-word 这是国外一个大佬自己弄的脚本,免费试用 ...

肆拾伍的博客 9116

基于Python大数据的智能交通分析系统

该系统能够实时监测交通状况,分析交通流量,预测交通趋势,为交通管理部门提供决策支持,帮助缓解交通拥堵,提高交通运行效率,减少交通事故发生率,改善市民出行体验。它能够为交通管理部门提供决策支持,帮助缓解交通拥堵,提高交通运行效率,减少交通事故发生率,改善市民出行体验,促进交通产业的健康发展。数据采集层:通过传感器、GPS设备、交通摄像头等数据源,实时采集交通数据,如车辆速度、位置、道路拥堵情况等。数据分析层:运用统计学方法、机器学习算法等,对处理后的数据进行深入分析,挖掘交通规律,预测交通趋势。

qq3828614760的博客 2969

如何优雅的在 Microsoft word中插入代码

近日需要写一些包含代码的Word文档,直接复制代码进去并不优雅,于是从网上发现了这个小工具,和大家分享一下。 一、工具 http://www.planetb.ca/syntax-highlight-word 二:操作步骤: 第一步:打开上面这个网站,截图如下: 第二步:将自己的代码复制到这个Code文本框中,并点击Show Hightlighted按钮,会自动打开一个新页面,该页面中...

Mr_HHH的博客 4752

从解压到编译:手把手带你用TeXstudio搞定第一篇ACM LaTeX论文

本文详细指导如何使用TeXstudio从解压ACM LaTeX模板到成功编译第一篇学术论文的全过程。涵盖环境准备、模板配置、TeXstudio设置及常见问题排查,特别针对ACM会议论文格式要求,帮助学术新人快速掌握LaTeX写作技巧。

weixin_30655569的博客 254

无感FOC之高频注入法——永磁同步电机控制

1.摘要电机运行在低速或零速时,磁链产生的反电动势很微弱,可用信号的信噪比太低,因而难以从反电动势中提取转子的位置和速度信息。因而在电机处于低速或零速时,需要借助电机的凸极特性来获取转子的位置信息。内置式永磁同步电机或磁密较大的表贴式永磁同步电机具有这种凸极特性,可借助高频电压注入法获取转子位置。2.凸极特性凸极电机内部的气隙是不均匀的,d轴和q轴的有效气隙是不同的,通俗来说在凸极电机里,q轴电感往往大于d轴电感,而在大部分表贴式永磁同步电机,气隙分布相对均匀,q轴电感近似于d轴电感。凸极率常用q轴电感和d

qq_2545470942的博客 2万+

前面不要直接在word里面拷贝脚本贴到shell里面去执行

我在word里面拷贝一个环境变量,执行完后,再查询发现里面有乱码,应该是从word里面拷贝会有不可见字符 真是害人不浅啊 [Thu Sep 24 03:35:15][270894][root@scaqan03dv0101:~][0]# export oss_username='arun.devaraj@aaa.com' [Thu Sep 24 03:35:26][270894][root@scaqan03dv0101:~][0]# [Thu Sep 24 03:35:28][270894][root@sc

wgz7747147820的博客 847

迅投miniQMT量化交易之【网格交易】的实现(25)——写在最后

和大家一起分享如何使用miniQMT实现我们自己的网格交易系统。如果您对量化交易感兴趣,欢迎一起交流。

tzzqn2008的专栏 829

Shell脚本的常用执行方式、bash 和 sh 的关系、子shell、Centos 默认的解析器是 bash、Linux 提供的 Shell 解析器、Shell 概述、Shell 脚本入门

采用 bash 或 sh+脚本的相对路径或绝对路径(不用赋予脚本+x 权限)、采用输入脚本的绝对路径或相对路径执行脚本(必须具有可执行权限+x)、在脚本的路径前加上“.”或者 source(了解)原因: 前两种方式都是在当前 shell 中打开一个子 shell 来执行脚本内容,当脚本内容结束,则 子 shell 关闭,回到父 shell 中。第三种,也就是使用在脚本路径前加“.”或者 source 的方式,`可以使脚本内容在当前 shell 里执行,而无需打开子 shell!`这也是为什么我们每次要修改完

Redamancy06的博客 2380

Android CCodec (十七) 硬件解码调用分析-1(基于V4l2)

简单的分析V4L2DecodeComponent和其相关内容,后续针对解码调用单独分析。

给大佬递杯卡布奇诺的博客 6593

玩转大语言模型——使用华为官方MindIE-Server镜像方式部署DeepSeek模型

本文将详细介绍在国产Linux系统欧拉中使用华为官方MindIE-Server镜像方式部署DeepSeek模型。一般情况下华为昇腾800I服务器可以推理DeepSeek-R1-70B,4张300I-Duo服务器可以推理DeepSeek-R1-32B。在配置中尽量贴合官方文档,包含用到的一些其他的技术细节,便于零基础入门使用。

艾醒的博客 1289

Bash Shell 脚本编程入门详解

本文简单介绍了shell编程的基础

m0_73892800的博客 876

在 SAP S/4HANA Public Cloud 中做产品扩展:从 Key User 到 ABAP Cloud 与 BTP 的三轨实践指南

摘要:SAP S/4HANA Public Cloud 提供三种扩展方式(key user、developer extensibility 和 side-by-side),遵循 clean core 原则确保升级稳定。key user 扩展适合无代码轻量改良,developer extensibility 用于受控 ABAP 开发,side-by-side 则适用于云原生独立应用。文章通过销售订单优先级字段、退货审批微服务和采购校验等案例,说明不同扩展路径的适用场景与实现方法,帮助开发者在三系统景观中合理选

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 293

bash shell脚本入门之shell变量

bash shell脚本入门shell变量 shell变量: 命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。 中间不能有空格,可以使用下划线 _。 不能使用标点符号。 不能使用bash里的关键字(可用help命令查看保留关键字)。 使用 readonly 命令可以将变量定义为只读变量,只读变量的值不能被改变。 我们给只读变量重新赋值,会报错:readonly variable [root@db dump]# cat a.sh #!/bin/bash myWorld="hello 01" re

时光不语的博客 590

基于 STM32 的乒乓球发球机控制系统设计与实现

乒乓球发球机是一种能够按照预设参数自动、连续发出乒乓球的训练设备。本系统以 STM32F103C8T6 为主控核心,通过控制实现球速调节、实现落点与旋转方向控制、实现出球节奏控制,并配合 OLED 显示与按键人机交互,实现速度、频率、落点、旋转四大参数的可调发球训练。

weixin_42300449的博客 209

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Linux bash shell脚本语法入门

1.基础   #!/bin/bash   //bash脚本第一句都是这个,他会让系统指定以bash来解释这个脚本   #                 //shell脚本注释符号   2.变量和使用   HOME="/home"                //注意赋值不要有空格   a=123   HOME_LIST=$(ls /home) //把命令的执

dafan125的专栏 626

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Shell:bash脚本入门

bash脚本入门

geekchen的博客 462

ssm框架搭建

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

bash shell脚本入门之shell基本运算

bash shell脚本入门之shell基本运算 原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用。 expr 是一款表达式计算工具,使用它能完成表达式的求值操作。 [root@WIND script]# cat 05.sh #!/bin/bash val=`expr 2 + 20` echo "两数之和为 : $val" echo $(expr 2 + 30) [root@WIND script]# bash 05.sh 两数之和为 : 22 3

时光不语的博客 1820

shell脚本编程for循环求阶乘_Linux之bash shell脚本编程入门篇(三)之循环以及函数function的使用...

bash shell脚本编程入门篇(三)之循环什么是循环执行?将某代码段重复运行多次重复运行多少次:循环次数事先已知循环次数事先未知有进入条件和退出条件相关命令:for, while, until,selet,for命令的使用作用:依次将列表中的元素赋值给“变量名”; 每次赋值后即执行一次循环体; 直到列表中的元素耗尽,循环结束命令格式:for 变量名 in 列表; do循环体(正常执行的执行命令...

weixin_39752352的博客 1052

bash shell脚本入门只shell参数传递

bash shell脚本入门只shell参数传递 向脚本传递参数,脚本内获取参数的格式为:$n。n 代表一个数字,1 为执行脚本的第一个参数,2为执行脚本的第二个参数 [root@WIND script]# cat 02.sh #!/bin/bash echo "Script name : $0" echo "First args : $1" echo "Second args: $2" [root@WIND script]# [root@WIND script]# bash 02.sh a b c d

时光不语的博客 1330

入门bash Shell脚本

注:本博文来作者的其他博客GeekerProbe,但是均为原创,要获得最佳阅读效果请移步至GeekerProbe。在进行批量的操作,或者繁琐的操作时,可以使用shell编写脚本来简化操作。我使用过众多别人编写的脚本,但是自己从来没有写过。今天正好碰到一个问题,不想繁琐的去挨个操作,那么就尝试着写一个脚本来方便操作一下吧。首先说一下自己遇到的问题,今年去参加了CocoaChin...

weixin_34341229的博客 86

UNIX shell脚本入门:用Bash自动化你的日常任务

UNIX shell脚本是提升工作效率的强大工具,通过Bash(Bourne Again Shell)编写脚本可以轻松自动化重复任务、管理系统配置和处理文件操作。本文将带你从基础开始,掌握Bash脚本的核心概念和实用技巧,让你快速上手UNIX环境下的自动化工作流。 ## 为什么选择Bash脚本? Bash作为UNIX和类UNIX系统(如Linux、macOS)的默认shell,具有以下优势:

gitblog_00011的博客 961

Shell脚本入门:从零构建你的第一个bash脚本

效果:date的输出被传给who,但who不接收标准输入,所以实际上等同于只执行who。# 或 /home/zhang/zz/sh_script/test.sh 绝对路径。每个命令执行完毕后都会返回一个0~255的整数值,0表示成功,非0表示失败。输出:当前用户是:zhang pts/0 2026-07-10 10:30。wc(word count)默认输出三个值:行数、词数、字节数。效果:先显示当前日期时间,再显示当前登录用户列表。echo "本次报告将保存为:$filename"

dby0222的博客 172

Linux Shell Script脚本(bash)一篇快速上手入门

基本语法号前后不能有空格,在shell中无需指定变量类型。有空格的情况可以使用引号,例如。属于局部变量,子shell不可见。导出变量自定义的变量默认局部变量,但是可以通过export语句导出为全局变量。修改变量修改变量值只对变量所在的shell及子shell生效,也就是说子shell的修改不会对父shell造成影响。语法#action;] }注意必须先声明函数和,才能调用。因为shell是逐行运行。函数返回值通过。

两份雪糕的博客 1661
上一篇: Shell(bash)的基本语法
下一篇: shell(bash)的模式扩展
Robin_Pi
博客等级 码龄9年 2万+粉丝 632原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值