Linux中的./!$是什么意思?

时间:2016-07-21 23:10:15

标签: linux bash

这里有一位诺贝克学习者。

我创建了一个python脚本和chmod 700 filename.py,当我打算使用./filename.py时,我的教师来了并使用./!$来运行该文件。

./!$实际意味着什么?我无法将其谷歌出来。我非常感谢cheatsheet的类似推荐链接。

提前致谢。

2 个答案:

答案 0 :(得分:2)

假设我刚刚运行了一个命令python test.py。这是我进入shell的最后一个命令。但是,它的论点是test.py

记住./引用当前工作目录,当我输入./!$时,我得到以下输出:

$ ./!$
./test.py
./test.py: line 1: import: command not found
./test.py: line 2: $'\r': command not found
./test.py: line 3: syntax error near unexpected token `('
'/test.py: line 3: `df = pd.DataFrame([

通过上下文线索,我的最后一个参数被用作!$

如果我输入多个参数,例如python test.py test2.py,我会得到:

$ ./!$
./test2.py
./test2.py: line 1: import: command not found
Unable to initialize device PRN

确认我的直觉。

答案 1 :(得分:2)

完全同意Michael Berkowski的评论。 !$引用前一个bash命令的最后一个参数。 例如,如果您键入echo hello world,则!$会扩展为" world"。

在您的情况下,!$会扩展为" filename.py"。该命令与上面的命令完全相同:./filename.py