n-nake /

Filename Size Date modified Message
1.4 KB
22 B
992 B


This is kinda like make, for bash, but not even remotely close in capability.


See what you can do:

$ cat nakefile
default-task () {
    echo Running default task

deploy () {
    echo -n uploading to my-server...
    tar --create --bzip2 * \
        | ssh my-server "cd /htdocs;
            rm -rf ./*;
            tar --extract --bzip2;"
    echo done


$ n -l

$ n
Running default task

$ n deploy
uploading to my-server...done

Other features:

  • All arguments after the task name are simply passed on to the task function.
  • Task auto-completion is available for bash and zsh.


Place the n.sh file somewhere accessible and source it in your .bashrc/.zshrc.

$ curl https://bitbucket.org/sharat87/n-nake/raw/tip/n.sh > ~/.n.sh
$ echo '. ~/.n.sh' >> ~/.bashrc

n should be ready to use now.


Even as basic as n is currently today, it has proven to be very useful to me. Any suggestions/ideas/feedback welcome. Please open an issue on bitbucket (or github) or send a pull request, if the change is simple enough.

Code is hosted on both bitbucket and github.


MIT License