Skip to content
/ goat Public
forked from 0mp/goat

A POSIX-compliant shell movement boosting hack for real ninjas.

License

Notifications You must be signed in to change notification settings

jpaugh/goat

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

goat

Build Status POSIX Compliance Version

Quick example

[ ~/Pictures ] $ goat dev ~/Documents/devel # create a link to the dev directory
[ ~/Pictures ] $ ls # see that there is no ~/Pictures/dev directory here
seahorses wallpapers
[ ~/Pictures ] $ cd dev # the goat framework's got you covered!
[ ~/Documents/devel ] $

Overview

Oh my! This is a POSIX-compliant shell movement boosting hack for real ninjas.
#posix_me_harder #posixly_correct

~ 0mp

Sometimes you jump around your filesystem tree a lot and you end up putting a couple of ugly aliases into your shell's rc file.

I should try it, even if it is dumb!

~ dse at What the Daily WTF? about goat v1.1.1

With goat you can easily manage your ninja shortcuts - just type goat p ~/Projects to introduce a new link and then cd p to jump to its destination.

Rad! I can do cd .... now instead of performing a horse galloping-like waltz with ../ being my miserable dance floor. I'm cloning this goat straight away!

~ YA0mp

BTW, Bash completion is now fully working with goat's shortcuts.

Installation

git clone https://github.com/0mp/goat
cd goat
./setup
# Consider running `printf "%s\n" '~/bin:$PATH' >> ~/.bashrc`
# if ~/bin isn't already in your $PATH.
. ~/.bashrc

See ./setup --help for advanced options.

Usage overview

# Create a link (h4xdir) to a directory:
goat h4xdir ~/Documents/dev

# Follow a link to change a directory:
cd h4xdir

# Follow a link (and don't stop there!):
cd h4xdir/awesome-project

# Go up the filesystem tree with '...' (same as `cd ../../`):
cd ...

# List all your links:
goat list

# Delete a link (or more):
goat delete h4xdir lojban

# Delete all the links which point to directories with the given prefix:
goat deleteprefix $HOME/Documents

# Delete all saved links:
goat nuke

# Delete broken links:
goat fix

# Print the help message:
goat help

Development

See CONTRIBUTING.md.

Testing

./lint
./test

License

Licensed under BSD license. Copyright © 2016-2018 Mateusz Piotrowski

About

A POSIX-compliant shell movement boosting hack for real ninjas.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Shell 100.0%