如何在新命令中使用上一个命令的第二个参数?
例如,用
$ mkdir test
Run Code Online (Sandbox Code Playgroud)
我创建了一个目录,如何使用目录名称进行更改呢?
$ mkdir test && cd use_var
Run Code Online (Sandbox Code Playgroud)
$_ 是上一个命令的最后一个(最右边)参数.
mkdir gash && cd "$_"
Run Code Online (Sandbox Code Playgroud)
(我不创建调用的文件或目录test,这是内置shell的名称,可能导致混淆)
通过历史记录扩展,您可以在当前命令行中引用任意单词
mkdir dir1 && cd "!#:1"
# 0 1 2 3 4
Run Code Online (Sandbox Code Playgroud)
!#指的是到目前为止输入的行,并且:1是指第一个字(mkdir从0开始).
如果您在脚本中使用它(即非交互式shell),则需要使用set -H和转换历史记录扩展set -o history.