相关疑难解决方法(0)

$_ 与 !$。前面命令的最后一个参数和输出重定向

问题是关于特殊变量。文档说:

!!:$

指定前面命令最后一个参数。这可以缩短为!$.


( $_, 下划线。) 在 shell 启动时,设置为绝对路径名,用于调用在环境或参数列表中传递的正在执行的 shell 或 shell 脚本。随后,扩展到扩展后上一个命令最后一个参数。还设置为用于调用在导出到该命令的环境中执行和放置的每个命令的完整路径名。

一定有一些我无法理解的差异,因为:

$ echo "hello" > /tmp/a.txt
$ echo "!$"
echo "/tmp/a.txt"
/tmp/a.txt

$ echo "hello" > /tmp/a.txt
$ echo $_
hello
Run Code Online (Sandbox Code Playgroud)

有什么不同?

shell bash history-expansion

58
推荐指数
1
解决办法
3万
查看次数

哪些(Bash)shell 特殊参数/变量是?

我在 Bash 中发现了一些以$符号开头的特殊参数。例如:当我徘徊退出状态我知道$?,进程ID $$

所以,我分享 这篇文章是为了了解哪些是特殊的 bash(shell)参数及其用法。

shell bash parameter

12
推荐指数
1
解决办法
5402
查看次数

什么意思 $_

是什么意思$_,可以这样使用

mkdir testdirectory;cd $_
Run Code Online (Sandbox Code Playgroud)

它将重定向到新目录

测试目录

如果我这样使用,回声 $_

表明

测试目录

这意味着以前创建的目录。实际上是什么意思,我真的不知道

shell

6
推荐指数
1
解决办法
3924
查看次数

标签 统计

shell ×3

bash ×2

history-expansion ×1

parameter ×1