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

发布时间 2023-12-11 18:34:25作者: 悟透

前言全局说明

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


三、打印上一次命令

echo !!

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




四、




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




参考、来源:
https://www.cnblogs.com/tianyapiaozi/archive/2012/09/21/bash_history_arguments.html