Skip to content

A lightweight shell utility for managing a directory stack. Easily navigate between directories by pushing, popping, and swapping paths. Ideal for developers and system administrators who frequently switch between multiple project directories.

License

Notifications You must be signed in to change notification settings

FlorealRISSO/stack-sh

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

stack.sh

stack.sh is a simple shell tool that implements a directory stack, allowing you to save and manage a list of directories.

Features

  • Push the current directory onto the stack
  • Pop the top directory from the stack
  • Swap the current directory with the top of the stack
  • List all directories in the stack
  • Remove the entire stack

Usage

stack [ up | dw | sw | ls | rm | help ]

Commands

  • up: Push the current directory onto the stack
  • dw: Pop the top directory from the stack and display it
  • sw: Replace the top of the stack with the current directory and display the previous top
  • ls: List all directories in the stack
  • rm: Remove the entire stack
  • help: Display help information

Installation

  1. Save the script as stack.sh in a directory included in your PATH.
  2. Make the script executable:
    chmod +x stack.sh
    
  3. You can now use the tool by running stack.sh or simply stack if you rename it.

How it works

  • The stack is stored in a file named stack_<PPID> in the /tmp/stackdata/ directory.
  • Each directory is stored as a separate line in the stack file.
  • The script uses standard Unix commands like pwd, head, tail, and wc to manipulate the stack.

Notes

  • The script uses set -e to exit immediately if any command fails.
  • If no arguments are provided, the script will display an error message and the usage information.
  • Invalid commands will display the usage information and exit with an error code.

License

This project is licensed under the MIT License. See the LICENSE file in the repository for the full license text.

About

A lightweight shell utility for managing a directory stack. Easily navigate between directories by pushing, popping, and swapping paths. Ideal for developers and system administrators who frequently switch between multiple project directories.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages