There is a feature in termux (android) history command which when you use !371 to execute the command 371 in the command history it prints that command in the prompt instead of executing it, then you just press enter to execute it. I found it very useful because many times I want to execute a command that is in the history but with some modification, I’m using Konsole in my desktop PC and I couldn’t find an option to make such a thing. The only one I found is executing history -p !371, but that just print the command to stdout and not to the prompt itself.
EDIT: the answer is !371:p then up and the command 371 shows up in the prompt. Thanks Schizo!
- kittenroar ( @kittenroar@beehaw.org ) English10•10 days ago
There’s always Ctrl+R
- fmstrat ( @fmstrat@lemmy.nowsci.com ) English3•8 days ago
I never understood the idea of using the command numbers. Ctrl-R is just so much easier.
Because learning Linux takes time, I’ve been using Linux and the command line many years and it’s the first time I come across that command. I even made an alias for ‘history | grep’ to search for commands in history 😂
- utopiah ( @utopiah@lemmy.ml ) 1•8 days ago
True… but if there is 1 command that makes learning Linux faster, it’s this one.
- fmstrat ( @fmstrat@lemmy.nowsci.com ) English2•8 days ago
Or
man
😉
- thingsiplay ( @thingsiplay@beehaw.org ) 6•10 days ago
https://www.gnu.org/software/bash/manual/bash.html#Miscellaneous-Commands
Add to your .bashrc following lines:
bind '"\C- ":shell-expand-line' bind '"\C-x":edit-and-execute-command'
Control+Space
: Now you can expand variables, aliases, !492 history commands, the tilde without executing the line. Now you can make changes to the command.Control+x
: Opens the current command in an external editor (such as Vi, or whatever is setup for VISUAL or EDITOR variable). Now you can edit the command and if you save the temporary file and exit editor, the modified command will be executed. If you do not save, the unmodified command before launching the editor will be executed.
Awesome!
- eldavi ( @eldavi@lemmy.ml ) English2•10 days ago
i have a need for something like this too; but i’ve been making due with crtl+r and that’s been good enough to prevent me from taking action on it.
I didn’t know that, it’s not what I was asking but it’s a cool command, thanks.
- eldavi ( @eldavi@lemmy.ml ) English1•10 days ago
careful with it; i need the thing that you asked for too and crtl+r has been effective enough to prevent me to creating it.
but can you modify the command? I tried but I couldn’t.
- eldavi ( @eldavi@lemmy.ml ) English1•10 days ago
yes. use the arrow keys to modify it before hitting enter
the answer is !371:p and then up!
- Shareni ( @Shareni@programming.dev ) 1•9 days ago
Wait till you find out about fzf
- schnurrito ( @schnurrito@discuss.tchncs.de ) 2•10 days ago
Things like that aren’t a feature of the terminal emulator, but of the shell. Try to find out which shell you’re using on Android, maybe try using that one on desktop too.
basename $0 returns bash in both.
- schizo ( @schizo@forum.uncomfortable.business ) English1•10 days ago
Uh, are you sure your shell you’re using is bash and not zsh or something else?
Bash is indeed just !12345.
- GravitySpoiled ( @GravitySpoiled@lemmy.ml ) English2•10 days ago
Same behavior for me as OPs
Yeah, it’s bash. But !12345 executes the command 12345, but I don’t want to execute it, just print it to the prompt.
- schizo ( @schizo@forum.uncomfortable.business ) English2•10 days ago
Does !12345:p do what you want?
Edit: that also makes hitting the up arrow result in whatever command that was, so if you wanted to edit the line or whatever, you could !12345:p, up, then edit and execute.
It doesn’t do anything, just prints a blank line.
ohh now I got it…yes thats it! Thanks!!