docs: update
This commit is contained in:
79
README.md
79
README.md
@@ -1,14 +1,30 @@
|
||||
# pure `bash`
|
||||
<h1 align="center">pure bash</h1> <p align="center">A [WIP] collection of
|
||||
pure bash alternatives to external processes.</p>
|
||||
|
||||
A collection of pure `bash` alternatives to external processes.
|
||||
The goal of this repository is to document known and unknown methods of
|
||||
doing various tasks using only built-in bash features. Using the snippets
|
||||
from this guide can help to remove unneeded dependencies from your scripts
|
||||
and in most cases make them that little bit faster. I came across these
|
||||
tips and discovered a few while developing
|
||||
[neofetch](https://github.com/dylanaraps/neofetch),
|
||||
[pxltrm](https://github.com/dylanaraps/pxltrm) and some other smaller
|
||||
projects.
|
||||
|
||||
This repository is open to contribution. If you see something that is
|
||||
incorrectly described, buggy or outright wrong, open an issue or send a
|
||||
pull request. If you know a handy snippet that is not included in this
|
||||
list, send a pull request!
|
||||
|
||||
|
||||
## Table of Contents
|
||||
|
||||
<!-- vim-markdown-toc GFM -->
|
||||
|
||||
* [Getting the terminal size (*in a script*).](#getting-the-terminal-size-in-a-script)
|
||||
* [Get the current date using `strftime`.](#get-the-current-date-using-strftime)
|
||||
* [Get the directory name of a file path.](#get-the-directory-name-of-a-file-path)
|
||||
* [Convert a hex color to RGB](#convert-a-hex-color-to-rgb)
|
||||
* [Convert an RGB color to hex.](#convert-an-rgb-color-to-hex)
|
||||
* [`printf` as a `date` replacement.](#printf-as-a-date-replacement)
|
||||
* [`dirname`](#dirname)
|
||||
|
||||
<!-- vim-markdown-toc -->
|
||||
|
||||
@@ -30,6 +46,32 @@ get_term_size() {
|
||||
```
|
||||
|
||||
|
||||
## Get the current date using `strftime`.
|
||||
|
||||
Bash’s `printf` has a built-in method of getting the date which we can use
|
||||
in place of the `date` command in a lot of cases.
|
||||
|
||||
**NOTE:** Requires `bash` 4+
|
||||
|
||||
```sh
|
||||
date() {
|
||||
# Usage: date "format"
|
||||
# See: 'man strftime' for format.
|
||||
printf "%($1)T\\n"
|
||||
}
|
||||
```
|
||||
|
||||
## Get the directory name of a file path.
|
||||
|
||||
Alternative to the `dirname` command.
|
||||
|
||||
```sh
|
||||
dirname() {
|
||||
# Usage: dirname "path"
|
||||
printf ‘%s\n’ "${1%/*}/"
|
||||
}
|
||||
```
|
||||
|
||||
## Convert a hex color to RGB
|
||||
|
||||
```sh
|
||||
@@ -43,7 +85,6 @@ hex_to_rgb() {
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
## Convert an RGB color to hex.
|
||||
|
||||
```sh
|
||||
@@ -54,31 +95,3 @@ rgb_to_hex() {
|
||||
```
|
||||
|
||||
|
||||
## `printf` as a `date` replacement.
|
||||
|
||||
Bash’s `printf` has a built-in method of getting the date which we can use
|
||||
in place of the `date` command in a lot of cases.
|
||||
|
||||
**NOTE:** Requires bash4+
|
||||
|
||||
```sh
|
||||
date() {
|
||||
# Usage: date "format"
|
||||
# See: 'man strftime' for format.
|
||||
printf "%($1)T\\n"
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
## `dirname`
|
||||
|
||||
Extract the directory from a file path.
|
||||
|
||||
```sh
|
||||
dirname() {
|
||||
# Usage: dirname "path"
|
||||
printf ‘%s\n’ "${1%/*}/"
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user