Project humanize

A collection of command wrapper scripts for UNIX like systems to make it easier to work with the commands.

898 views
d

By. Jacob

Edited: 2019-12-11 11:51

Project shell humanize, beamtic humanize

This project aims to make it easier to use various system commands in Linux. The idea is to supply a more dialogue based user experience of commands that are often run in a terminal.

Something I personally do not get is why Linux commands are so obscure to use. I guess it is fine if you have the time to learn how to use every single command, but I think it also causes major frustration with users who just occasionally want to do something simple from a terminal, like create a symbolic link, or move a file or directory to another location.

With humanize, things should me much simpler to use for the user. To install the wrapper scripts, simply clone the GitHub repository and run the installation script.

The project is available on GitHub: https://github.com/beamtic/humanize

Usage of bash

The project is written as a collection of bash compatible shell scripts, aiming for fairly broad compatibility, while checking for dependencies that might not be installed on the system. If dependency is not installed, the user should generally be prompted to install it.

Bash can be very difficult to work with, I already covered some of the reasons in this article.

Because of this, we may depend on Python and other scripting languages to do more complex things, and for larger CLI programs. Luckily, this is rarely necessary for basic wrapper scripts.

Contributing

I welcome contributions to the project. You can look at how existing wrappers in the project "prompt" the user for input, giving clear instructions on how the command is used.

Naming of commands follow this basic system:

  1. symbolic-link-create.sh
  2. directory-create.sh
  3. delete-simple.sh

Basically, the beginning with the relevant part, making it easy to use TAB to auto-complete the rest of the command name. The less relevant part is the function of the script, I.e. "Create" or "delete" and the type of script ".sh".

Including a file extension makes it easier to know what type of file we are working with, without having to open and inspect the file.

Links

  1. humanize on GitHub - github.com

Tell us what you think: