打印最后一行!!命令

打印最后一行!!命令

所以我希望能够打印你好世界使用!!命令。我尝试使用文本创建一个文本文件你好世界在上面。然后我说

cat textFileName

它打印你好世界。然后我说

!!

它打印

cat 文本文件名
你好世界

我尝试使用tail但没有成功。我想以这样的方式编写命令!被使用且仅你好世界被打印。

谢谢

答案1

添加到杰夫的评论中,它会重复之前的命令,并且至少在我使用过的所有 bash 中,它还会打印出该命令,供您查看刚刚做了什么,这可能会解释cat textFileName您所看到的内容。该输出被写入终端,而不是打印到 stdout 或 stderr。例如:

$ cat textFile
helloworld

$ !!
cat textFile
helloworld

$ !! &>/dev/null
cat textFile &>/dev/null

因此,正在打印的行只是显示给您以寻求帮助,它不是显示在管道中(如果您使用过)的输出的一部分!!

答案2

今天下午我受到更新的要求的“启发”:

使用 !!命令,以便在标准输出上打印 helloworld (仅此而已),并且在输入命令时在标准错误上不打印任何内容。您可以在命令之前添加其他命令(例如,创建文件、运行其他命令等)和/或将选项或参数传递给命令。是的,仅此而已。

...这似乎足以让我建议这个答案/解决方法:

exec ksh
PS1="helloworld"
!! 2>/dev/null

答案3

我能够弄清楚事情的来龙去脉。

我可能位于一个没有文件的文件夹中,然后创建一个别名

alias helloworld=ls

然后我打电话

helloworld

然后我打电话!!

所有将被打印的内容将是

你好世界

谢谢大家!

相关内容