首页 > 系统相关 >shell 获取返回值、上一次命令、上次命令参数

shell 获取返回值、上一次命令、上次命令参数

时间:2023-12-11 18:46:49浏览次数:29  
标签:表示 shell 21 echo 命令 参数 返回值 string

前言全局说明

shell 获取返回值、上一次命令、上次命令参数


一、获取上一次命令

1. $?,上一次命令执行结果

成功0; 失败非0

echo $?

image


2. !!, 执行上一次命令,是!-1的快捷方式

image

3. !n, 表示执行 history 里第n条命令,如!2表示执行ls 6 7 8 9 10

4. !-n 表示倒数第n条命令,如!-3表示执行echo 11 12 13 14 15

5. !string 表示以string开始的最近的一条命令,如!echo表示echo 21 22 23 24 25

6. !?string? 表示含有string的最近的一条命令,如!?6?表示cat 16 17 18 19 20

7. ^string1^string2^ 表示执行上一条命令,并将其中的第一个string1替换为string2,如果string1不存在则替换失败,不会执行命令。

8. !# 表示当前命令现在已经输入的部分,如echo 1 2 !#会执行echo 1 2 echo 1 2


二、获取上一次命令参数

1. !!:0 表示上一命令的第0个参数,即命令本身,得到的是echo

2. !2:n 表示第2个命令的第n个参数,如!2:2得到的是7

3. !!:^ 表示上一命令第1个参数,可进一步简写为!^,与!!:1同义,得到的是21

4. !!: $ 表示上一命令的最后一个参数,可进一步简写为!$,得到的是25

5. !!:x-y 表示第x到第y个参数,-y意为0-y,如!-2:3-4得到的是18 19

6. !!: * 表示上一命令的参数部分,可进一步简写为!,如!!:得到的是21 22 23 24 25

7. !!:n* 跟!!:n-$同义

8. !!:n- 意为!!:n-$-1,从第n个参数到倒数第二个参数,如!-2:3-得到的是18 19

(4和6条说明,冒号后有空格,使用时删掉,写文章时,不加空格被解释成 emoj 表情了)


三、打印上一次命令

echo !!

image
注意: 不要和变量一样前面加$.




四、




免责声明:本号所涉及内容仅供安全研究与教学使用,如出现其他风险,后果自负。




参考、来源:
https://www.cnblogs.com/tianyapiaozi/archive/2012/09/21/bash_history_arguments.html
https://blog.csdn.net/weixin_34174105/article/details/91519627



标签:表示,shell,21,echo,命令,参数,返回值,string
From: https://www.cnblogs.com/wutou/p/17895092.html

相关文章

  • stp生成树解析及其命令配置
    STP生成树协议概念:stp是为了解决网络中的环路问题的一个协议,当网络中有多余通信路径的时候,会选择一条主要路径阻塞备用端口(BP),因此网络拓扑类似树枝,所以叫做生成树协议stp运行原理://选举根交换机:选举根交换机是通过比较网桥ID(BID)来选举的,网桥ID(BID)的组成如下:优......
  • ctfshow-Web入门-命令执行wp
    Web29:​ 简单的命令执行,使用/i模式过滤大小写flag,可以使用通配符绕过过滤。Web30:​ 比上一题多过滤system与php,可以使用其他函数来执行命令,具体可以参考PHP中常见的命令执行函数与代码执行函数_-passthru-CSDN博客注意: system(),passthru()自动输出结果 exec(......
  • peony打开文件命令
    /***麒麟kylin使用命令调用文件管理器打开指定路径的方法*优麒麟早期版本(16.04前)使用Nautilus命令,后来版本使用peony命令*语法如下:*peonyfile://<路径>*例如:*peonyfile:///home/liumou/*查找文件命令*find/-namereadme.doc*创建目录命令*mkdir文件夹......
  • Linux中连接端口命令有哪些?
    端口是计算机网络中一个应用程序或进程与外界通信的接口。通常用一个16位的数字来表示,范围从0到65535。而Linux操作系统在IT界有着广泛的应用,尤其是在服务器领域表现十分优异,成为了服务器的首选系统,其也提供了诸多命令帮助我们完成各种各样的工作,那么Linux中连接端口命令有哪些......
  • 通过命令行启用 logcat 日志本地存储功能
    注意:本文基于Android12进行分析Qidi2023.12.06(MarkDown&Haroopad)0.背景在Android系统上进行开发时,为了分析bug,有些时候我们需要抓取开机日志。很多人知道,通过界面操作进入开发者选项就可以打开logcat日志的本地存储功能,从而很方便的抓取完整的开机日志。但......
  • uva400 Unix Is命令 Unix ls
    原题链接:UnixIs命令Unixls-洛谷|计算机科学教育新生态(luogu.com.cn)一道格式略微复杂的题目。首先是注意点:1、关于列的个数,已知一行共有60个字符,最右边一列有M个字符,其余列有M+2个字符。则列数为(60-M)/(M+2)+1,接着行数也就易得。2、格式问题,要求左对齐且保持M或M+2个字......
  • nmcli命令总结
    nmcli命令的一些常用选项和用法:connectionshow--显示所有网络连接的详细信息。connectionup<UUID>--启动网络连接。connectiondown<UUID>--停止网络连接。connectionmodify<UUID>ipv4.addresses<IP地址>/<子网掩码>--修改网络连接的IPv4地址。connectio......
  • dockerfile基本命令+镜像制作
    DockerFile03DockerFile1.DockerFile的概念用来构建docker​镜像的构建文件,由一系列参数和命令构成的脚本大体总览:​​‍1.构建过程要遵循的规则:​​2.执行流程‍Docker​执行一个Dockerfile​脚本的流程大致如下​Docker​从基础镜像运行一个容器执行一条......
  • JSON提取器id+BeanShell断言
    JSON提取data中的值: 用提取得值${id}再继续执行: 利用BeanShell断言:importorg.json.*;Stringresponsedata=prev.getResponseDataAsString();JSONObjectdata_obj=newJSONObject(responsedata);Stringid=data_obj.get("data").get("id").toString();Strings......
  • allure commandline 命令行参数
    一、allurehtml产生流程方法一:alluregenerate+allureopen方法二:allureserver二、语法格式generateopenserver参考资料本文地址:https://www.cnblogs.com/hchengmx/p/17892977.html一、allurehtml产生流程Step1.test文件运行后产生allure-results文......