Skip to content

Instantly share code, notes, and snippets.

@logosity
Created May 9, 2012 20:33
Show Gist options
  • Save logosity/2648596 to your computer and use it in GitHub Desktop.
Save logosity/2648596 to your computer and use it in GitHub Desktop.
Tail Recursion in bash
#!/bin/bash
# warning you need to build in something to stop the loop
# in practice, I used a kill file check before invoking the script again
echo 'tail recursive bash ftw'
sleep 10
$0 &
# if you didn't listen and ran this as-is, try:
# killall tail.sh
# or (assuming nothing else is running sleep):
# kill $(ps -f | grep sleep | grep -v grep | awk '{print $3}')
@chuckhoupt
Copy link

Follow-up: The Racket developer Jay McCarthy has a good explanation of how exec works in "exec and Tail-call Optimization".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment