为什么bash在使用!$等

为什么bash在使用!$等,bash,Bash,如果我打字 mkdir my_new_directory_with_a_long_name cd !$ 我明白了 cd my_new_directory_with_a_long_name 输出到终端,然后运行cd命令 bash为什么显示此扩展?有没有办法关闭它?这是历史扩展功能的一部分-!$将扩展扩展扩展到最后一个命令的最后一个参数-使用set+H禁用历史扩展猜测它是为了让您知道运行了什么。我不想禁用扩展,我只是好奇为什么扩展会打印到stdout,如果可以禁用,您如何知道在没有echo的情况

如果我打字

mkdir my_new_directory_with_a_long_name
cd !$
我明白了

cd my_new_directory_with_a_long_name
输出到终端,然后运行cd命令


bash为什么显示此扩展?有没有办法关闭它?

这是历史扩展功能的一部分-!$将扩展扩展扩展到最后一个命令的最后一个参数-使用
set+H

禁用历史扩展猜测它是为了让您知道运行了什么。我不想禁用扩展,我只是好奇为什么扩展会打印到stdout,如果可以禁用,您如何知道在没有echo的情况下运行了什么?我不知道是否可以禁用回显这是正确的,但是类似地,没有显示变量扩展,即
cd$DIR
不会回显扩展