Up Arrow + Enter替代运行上一个命令?

Tho*_*mas 5 unix linux shell

有时我必须连续多次运行命令,例如查看服务是否已启动,将手移离正常输入位置以反复按向上箭头和输入键变得乏味.有没有办法在没有Up Arrow和Enter键的情况下运行上一个命令,可能还有一个精心设计的shell脚本?

我已经尝试了以下内容,但它不能令人满意,因为它无法执行别名,而且速度有点慢.

history | tail -2 | head -1 | cut -d' ' -f4- | cat > prev_command.txt
sleep .01
chmod 777 prev_command.txt
eval prev_command.txt
rm prev_command.txt
Run Code Online (Sandbox Code Playgroud)

理想情况下,我有一个这个脚本的别名,所以我可以在命令行中键入类似"prev"的内容,然后按Enter键再次运行上一个命令.

Mar*_*off 18

在bash中,你可以按下ctrlp转到上一个命令 - 这比必须移动到箭头键要好得多.

  • 并且``ctrl + n``循环回到下一个命令,如果你碰巧走得太远了. (6认同)

小智 7

使用

!!

运行上一个命令.

sudo !!
Run Code Online (Sandbox Code Playgroud)

也有效,记录.