diff --git a/README.md b/README.md
index eca6ff7..68fd9c3 100644
--- a/README.md
+++ b/README.md
@@ -1,18 +1,21 @@
-# The Burning Bush: A simple UNIX command interpreter
+
The Burning Bush
+A simple UNIX command interpreter
-
+
+
+
-## Table of Content
+## Table of Contents
* [About](#introduction)
* [Installation](#installation)
- * [Requirements](#requirements)
- * [How to install](#how-to-install)
+ * [Requirements](#requirements)
+ * [How to install](#how-to-install)
* [Usage](#usage)
- * [Supported Commands](#supported-commands)
- * [Other features](#other-features)
-* [Uninstallation](#uninstallation)
+ * [Supported Commands](#supported-commands)
+ * [Other features](#other-features)
* [Examples](#examples)
+* [Uninstallation](#uninstallation)
* [Caveats](#caveats)
* [Acknowledgement](#acknowledgement)
@@ -34,11 +37,11 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
### Requirements
* **UNIX-like environment**, like macOS and Linux.
-* GNU **GCC**, or **clang** LLVM compiler.
+* GNU **GCC**, or LLVM **Clang** compiler.
### How to install
-Run the install.sh script with root privileges to install:
+Run the [installation script](./install.sh) with root privileges to install:
```zsh
sudo ./install.sh
@@ -51,8 +54,7 @@ Also, you can compile it on the command-line with
`-Wall -Werror -Wextra -pedantic` flags to generate warnings for potential issues/bugs.
Use option `-std=gnuXX` where `XX` can be `99`, `11`, `17` or `2x`, depending on the
-latest version of C supported by your compiler
-(it is advisable to compile with the latest stable standards).
+latest version of C supported by your compiler.
For example,
@@ -69,7 +71,7 @@ mkdir -p ./cmake-bush
"$(command -v cmake)" -DCMAKE_BUILD_TYPE=Release -DCMAKE_MAKE_PROGRAM="$(command -v ninja)" -G Ninja -S . -B ./cmake-bush
-"$(command -v cmake)" --build ./cmake-bush --target bush -j 3
+"$(command -v cmake)" --build ./cmake-bush --target bush -j 4
# You can now run
# cd cmake-bush/src && ./bush
@@ -89,36 +91,33 @@ Terminate with `exit`.
The Burning Bush supports all the standard UNIX commands (every program in PATH)
as well as a few builtin commands.
-The builtins supported are:
+The **builtins** supported are:
* `cd [directory]`\
-Changes the shell working directory. With no argument
-(or with `~` or `~/` arg), the working directory
-is changed to $HOME.
-`cd -` changes the working directory to the previous working directory.
-
-* `echo [args]`\
-Writes arguments to the standard output.
+ Changes the shell working directory. With no argument
+ (or with `~` or `~/` arg), the working directory
+ is changed to $HOME.
+ `cd -` changes the working directory to the previous working directory.
* `exit [status]`\
-Exits the shell with status (0 by default or if called with no argument).
+ Exits the shell with status (0 by default or if called with no argument).
* `pwd`\
-Prints the shell working directory.
+ Prints the shell working directory.
* `export [name[=value]]`\
-Export attribute for shell variables.
+ Export attribute for shell variables.
* `history`\
-Display history of commands.\
-The `!` operator is also supported for executing
-commands in the shell history. (eg `!!`, `!23`, `!3`).
+ Display history of commands.\
+ The `!` operator is also supported for executing
+ commands in the shell history. (eg `!!`, `!23`, `!3`).
* `help [command]`\
-Displays help. `help command` displays help for `command`, where `command`
-can be `cd`, `echo`, and `exit`. `help`.
-Without any argument, (or with an invalid argument),
-the general shell help is printed.
+ Displays help. `help command` displays help for `command`, where `command`
+ can be `cd`, `echo`, and `exit`. `help`.
+ Without any argument, (or with an invalid argument),
+ the general shell help is printed.
### Other Features
@@ -137,15 +136,6 @@ username@hostname:current_working_directory$
>
```
-## Uninstallation
-
-Run the uninstall.sh script with root privileges to uninstall
-The Burning Bush from your system:
-
-```zsh
-sudo ./uninstall.sh
-```
-
## Examples
```console
@@ -220,6 +210,15 @@ normal@prompt:bush$ echo $?
98
```
+## Uninstallation
+
+Run the [uninstallation script](./uninstall.sh) with root privileges to uninstall
+The Burning Bush from your system:
+
+```zsh
+sudo ./uninstall.sh
+```
+
## Caveats
* Command separators `;`, `||`, `&&` are not supported.
@@ -228,7 +227,7 @@ normal@prompt:bush$ echo $?
## Acknowledgement
-Repository author: [Ian Duncan](https://github.com/dr8co "Ian")
+Project author: [Ian Duncan](https://github.com/dr8co "Ian")
The **"Mother Earth Burning Sticker"** courtesy of [Tenor](https://tenor.com/ "Tenor")
and [INTO ACTION](https://tenor.com/official/intoaction "intoaction").
diff --git a/install.sh b/install.sh
index 1d3a8a2..4a95c19 100755
--- a/install.sh
+++ b/install.sh
@@ -17,7 +17,7 @@ APP_PATH="/opt/burning_bush"
BIN_PATH="/usr/local/bin"
MAN_PATH="/usr/local/share/man/man1"
-echo -e "Installing The Burning Bush..\n"
+echo -e "Installing The Burning Bush 3.0 ..\n"
echo -e "Compiling..\n"
diff --git a/man/burning-bush.1 b/man/burning-bush.1
index 9433042..aa17354 100644
--- a/man/burning-bush.1
+++ b/man/burning-bush.1
@@ -1,4 +1,4 @@
-.TH man 1 "21 January 2023" "2.1" "The Burning Bush man page"
+.TH man 1 "18 February 2023" "3.0" "The Burning Bush man page"
.SH NAME
.B The Burning Bush
- A simple UNIX command interpreter.
diff --git a/src/arrays.c b/src/arrays.c
index 197100c..28d917c 100644
--- a/src/arrays.c
+++ b/src/arrays.c
@@ -2,8 +2,8 @@
* @file arrays.c
* @author Ian Duncan (dr8co@duck.com)
* @brief source file for functions to manipulate arrays.
- * @version 2.1
- * @date 2023-01-21
+ * @version 3.0
+ * @date 2023-02-18
*
* @copyright Copyright (c) 2023
*
diff --git a/src/directories.c b/src/directories.c
index 6111374..37663b5 100644
--- a/src/directories.c
+++ b/src/directories.c
@@ -2,8 +2,8 @@
* @file directories.c
* @author Ian Duncan (dr8co@duck.com)
* @brief source file for directory-related functions.
- * @version 2.1
- * @date 2023-01-21
+ * @version 3.0
+ * @date 2023-02-18
*
* @copyright Copyright (c) 2023
*
diff --git a/src/environment.c b/src/environment.c
index 871e2d4..9005c89 100644
--- a/src/environment.c
+++ b/src/environment.c
@@ -2,8 +2,8 @@
* @file environment.c
* @author Ian Duncan (dr8co@duck.com)
* @brief source file for manipulating shell environment.
- * @version 2.1
- * @date 2023-01-21
+ * @version 3.0
+ * @date 2023-02-18
*
* @copyright Copyright (c) 2023
*
diff --git a/src/execution.c b/src/execution.c
index 54e6138..c5d8053 100644
--- a/src/execution.c
+++ b/src/execution.c
@@ -2,8 +2,8 @@
* @file execution.c
* @author Ian Duncan (dr8co@duck.com)
* @brief source file for functions that handle execution of commands.
- * @version 2.1
- * @date 2023-01-21
+ * @version 3.0
+ * @date 2023-02-18
*
* @copyright Copyright (c) 2023
*
diff --git a/src/fileops.c b/src/fileops.c
index 03e7e1a..96516bb 100644
--- a/src/fileops.c
+++ b/src/fileops.c
@@ -2,8 +2,8 @@
* @file fileops.c
* @author Ian Duncan (dr8co@duck.com)
* @brief source file for file operations
- * @version 2.1
- * @date 2023-01-21
+ * @version 3.0
+ * @date 2023-02-18
*
* @copyright Copyright (c) 2023
*
diff --git a/src/get_info.c b/src/get_info.c
index f9f7d66..a64890e 100644
--- a/src/get_info.c
+++ b/src/get_info.c
@@ -2,8 +2,8 @@
* @file get_info.c
* @author Ian Duncan (dr8co@duck.com)
* @brief source file for functions to extract information.
- * @version 2.1
- * @date 2023-01-21
+ * @version 3.0
+ * @date 2023-02-18
*
* @copyright Copyright (c) 2023
*
diff --git a/src/globs.c b/src/globs.c
index 3a5e963..1eb320d 100644
--- a/src/globs.c
+++ b/src/globs.c
@@ -2,8 +2,8 @@
* @file globs.c
* @author Ian Duncan (dr8co@duck.com)
* @brief source file for glob operations.
- * @version 2.1
- * @date 2023-01-21
+ * @version 3.0
+ * @date 2023-02-18
*
* @copyright Copyright (c) 2023
*
diff --git a/src/help.c b/src/help.c
index c6628bd..3d39dea 100644
--- a/src/help.c
+++ b/src/help.c
@@ -2,8 +2,8 @@
* @file help.c
* @author Ian Duncan (dr8co@duck.com)
* @brief source file for help-related functions.
- * @version 2.1
- * @date 2023-02-21
+ * @version 3.0
+ * @date 2023-02-18
*
* @copyright Copyright (c) 2023
*
diff --git a/src/help_msgs.c b/src/help_msgs.c
index 8493420..0a0c08e 100644
--- a/src/help_msgs.c
+++ b/src/help_msgs.c
@@ -2,8 +2,8 @@
* @file help_msgs.c
* @author Ian Duncan (dr8co@duck.com)
* @brief file for help messages.
- * @version 2.1
- * @date 2023-01-21
+ * @version 3.0
+ * @date 2023-02-18
*
* @copyright Copyright (c) 2023
*
diff --git a/src/history.c b/src/history.c
index 5b4dab8..c66cc0f 100644
--- a/src/history.c
+++ b/src/history.c
@@ -2,8 +2,8 @@
* @file history.c
* @author Ian Duncan (dr8co@duck.com)
* @brief source file for manipulation of shell history.
- * @version 2.1
- * @date 2023-01-21
+ * @version 3.0
+ * @date 2023-02-18
*
* @copyright Copyright (c) 2023
*
diff --git a/src/main.c b/src/main.c
index 33d459f..3bcbb2f 100644
--- a/src/main.c
+++ b/src/main.c
@@ -2,8 +2,8 @@
* @file main.c
* @author Ian Duncan (dr8co@duck.com)
* @brief entry point to the shell
- * @version 2.1
- * @date 2023-01-21
+ * @version 3.0
+ * @date 2023-02-18
*
* @copyright Copyright (c) 2023
*
diff --git a/src/main.h b/src/main.h
index c46429c..0253deb 100644
--- a/src/main.h
+++ b/src/main.h
@@ -2,8 +2,8 @@
* @file main.h
* @author Ian Duncan (dr8co@duck.com)
* @brief project header file
- * @version 2.1
- * @date 2023-01-21
+ * @version 3.0
+ * @date 2023-02-18
*
* @copyright Copyright (c) 2023
*
diff --git a/src/memory.c b/src/memory.c
index b223f5e..f7e8d09 100644
--- a/src/memory.c
+++ b/src/memory.c
@@ -2,8 +2,8 @@
* @file memory.c
* @author Ian Duncan (dr8co@duck.com)
* @brief source file for memory management and related functions
- * @version 2.1
- * @date 2023-01-21
+ * @version 3.0
+ * @date 2023-02-18
*
* @copyright Copyright (c) 2023
*
diff --git a/src/numbers.c b/src/numbers.c
index 4fa7b3d..d0e34d7 100644
--- a/src/numbers.c
+++ b/src/numbers.c
@@ -2,8 +2,8 @@
* @file numbers.c
* @author Ian Duncan (dr8co@duck.com)
* @brief source file for numerical computations
- * @version 2.1
- * @date 2023-01-21
+ * @version 3.0
+ * @date 2023-02-18
*
* @copyright Copyright (c) 2023
*
diff --git a/src/process_cmd.c b/src/process_cmd.c
index 5eab8e9..f7f94a2 100644
--- a/src/process_cmd.c
+++ b/src/process_cmd.c
@@ -2,8 +2,8 @@
* @file process_cmd.c
* @author Ian Duncan (dr8co@duck.com)
* @brief source file for functions to process commands
- * @version 2.1
- * @date 2023-01-21
+ * @version 3.0
+ * @date 2023-02-18
*
* @copyright Copyright (c) 2023
*
diff --git a/src/prompt.c b/src/prompt.c
index d615e57..273f26d 100644
--- a/src/prompt.c
+++ b/src/prompt.c
@@ -2,8 +2,8 @@
* @file prompt.c
* @author Ian Duncan (dr8co@duck.com)
* @brief source file for printing shell prompts
- * @version 2.1
- * @date 2023-01-21
+ * @version 3.0
+ * @date 2023-02-18
*
* @copyright Copyright (c) 2023
*
diff --git a/src/signal_handler.c b/src/signal_handler.c
index 45e1b94..f9e76e1 100644
--- a/src/signal_handler.c
+++ b/src/signal_handler.c
@@ -2,8 +2,8 @@
* @file signal_handler.c
* @author Ian Duncan (dr8co@duck.com)
* @brief source file for input handling
- * @version 2.1
- * @date 2023-01-21
+ * @version 3.0
+ * @date 2023-02-18
*
* @copyright Copyright (c) 2023
*
diff --git a/src/strings_1.c b/src/strings_1.c
index cbef2b0..b394e4b 100644
--- a/src/strings_1.c
+++ b/src/strings_1.c
@@ -2,8 +2,8 @@
* @file strings_1.c
* @author Ian Duncan (dr8co@duck.com)
* @brief source file for string operations
- * @version 2.1
- * @date 2023-01-21
+ * @version 3.0
+ * @date 2023-02-18
*
* @copyright Copyright (c) 2023
*
diff --git a/src/strings_2.c b/src/strings_2.c
index 42a35f2..6f31741 100644
--- a/src/strings_2.c
+++ b/src/strings_2.c
@@ -2,8 +2,8 @@
* @file strings_2.c
* @author Ian Duncan (dr8co@duck.com)
* @brief source file for string operations
- * @version 2.1
- * @date 2023-01-21
+ * @version 3.0
+ * @date 2023-02-18
*
* @copyright Copyright (c) 2023
*
diff --git a/uninstall.sh b/uninstall.sh
index 6e6760b..b52f608 100755
--- a/uninstall.sh
+++ b/uninstall.sh
@@ -15,7 +15,7 @@ APP_PATH="/opt/burning_bush"
BIN_PATH="/usr/local/bin"
MAN_PATH="/usr/local/share/man/man1"
-echo -e "Uninstalling The Burning Bush..\n"
+echo -e "Uninstalling The Burning Bush 3.0 ..\n"
echo -e "Cleaning man page..\n"
@@ -47,4 +47,4 @@ echo -e "Updating man database..\n"
mandb >/dev/null 2>&1
-echo "Successfully uninstalled The Burning Bush. Thank you, Bye! |(•◡•)|."
+echo "Successfully uninstalled The Burning Bush 3.0. Thank you, Bye! |(•◡•)|."