How can I simply persist functions written in the current terminal session for later use?
Suppose I write a Bash function at the command line:
$ hello-world() { echo "Hello, world!"; }
and I revise (perhaps hitting up-arrow to retrieve it from command history and edit it) and test and debug it, and eventually have a working function that does what I want:
$ hello-world
Hello, world!
Now I'd like to make this available in future sessions, so I... well, currently, the best I can come up with is type hello-world | tail -n+2 >> ~/.bash_aliases
(using tail
to remove the helpful hello-world is a function
message).
Is there a built-in, or simpler way to do this? Ideally, something that would add every function I've written in the current shell?
1 answer
Are you familiar with the Bash history shortcuts? The most basic is !!
to refer to the last command you entered. This lets you do things like sudo !!
to run the last command with privileges.
You could use that or the "search" one (last command containing substring: !?
) to echo it to your alias file.
echo '!?()' >> ~/.bash_aliases
0 comment threads