# for alternatives see http://codesnippets.joyent.com/posts/show/1625 unset -f edit function edit() { declare -a ar declare -i i=-1 while read -e -d $'\n' line; do let i++; ar[$i]="${line}"$'\n'; done # -e enables readline printf "%s\n" "${ar[@]}" >> ~/.bash_history #printf "%s\n" "${ar[@]}" | /usr/bin/tr '\n' ' ' >> ~/.bash_history #printf "%s\n" >> ~/.bash_history history -n eval "${ar[@]}" return 0 } edit echo "!"; [ctrl-r] ... [ctrl-d] edit if [[ 5 -gt 3 ]]; then echo 12345 fi [ctrl-d] [ctrl-d] # quit and execute the command [ctrl-c] # do not execute the command and abort
Never been to CodeSnippets before?
Snippets is a public source code repository. Easily build up your personal collection of code snippets, categorize them with tags / keywords, and share them with the world (or not, you can keep them private!)
Simple command line editor with Readline support (See related posts)
You need to create an account or log in to post comments to this site.
Related Posts
» cmdparser - parse command li... in shell osx mac bash commandline parser
» ws - web search from the com... in shell osx mac search bash unix commandline web
» snippet in shell osx mac html bash unix commandline web download convert textutil ed snippet
» Edit multiple lines on the c... in shell osx mac bash unix commandline multiple lines
» Clear the entire current lin... in shell osx mac bash line unix clear readline
» Read file into array in Bash in shell osx mac bash line unix file array read
Snippets (source code soon to be available) developed by Peter Cooper and powered by Ruby On Rails