如何从 bash 中通过管道传输的文本修剪回车符?

cwd*_*cwd 3 linux scripting bash shell-script echo

我正在使用此命令来获取我最后输入的命令:

history | cut -c 8- | tail -n 2 | head -n 1
Run Code Online (Sandbox Code Playgroud)

它在 bash 中运行得很好,删除了行号,但是我遇到了一个问题,(呃,烦恼,因为我只想要命令),我正在将它传递给xsel剪贴板管理器:

它还抓住了尾随的新行/回车...

我知道在一些 shell 中你可以使用:

echo "text \c"
Run Code Online (Sandbox Code Playgroud)

我不确定如何将其纳入其中bash

最容易即时输入的解决方案的额外积分:)

小智 7

您可以!!使用bash 内置命令获取历史记录中的最后一个命令,并用于echo -n打印该命令,最后没有换行符:

echo -n !!
Run Code Online (Sandbox Code Playgroud)

!!参数将扩展为实际的命令字符串,-n并确保输出不包含换行符。