RazzShell - The Advanced Linux Command-Line Interface for Enhanced Productivity

A Revolutionary Linux Command-Line Experience

Key Features

⌨️

Custom Shell Prompt

Displays the current directory in the prompt for easy navigation.

🎨

Colorful Output

Directory listings and error messages are color-coded for better readability.

🔧

Unique Command Names

Built-in commands have custom names to avoid conflicts with external commands.

🌐

External Command Execution

Supports running any external program installed on your system.

📂

Command Aliases

Allows creating shortcuts for frequently used commands.

⚙️

Environment Variable Support

Set, unset, and use environment variables within the shell.

About RazzShell

RazzShell is a custom Unix shell written in C, designed to provide a unique and user-friendly command-line interface. It offers a variety of built-in commands, colorful output, command aliases, environment variable support, and the ability to execute external programs seamlessly. RazzShell aims to combine the functionality of traditional shells with custom features to enhance the user experience.

Differences Between RazzShell and Other Shells

Documentation

Built-in Commands

File and Directory Operations

  • change: Change the current working directory.
    change [directory]
  • list: List directory contents with color-coded output.
    list [-a] [directory]
  • copy: Copy files from one location to another.
    copy [source] [destination]
  • move: Move or rename files.
    move [source] [destination]
  • delete: Delete files.
    delete [file]
  • makedir: Create a new directory.
    makedir [directory]
  • removedir: Remove an empty directory.
    removedir [directory]

Process Management

  • showprocesses: Display running processes.
    showprocesses
  • terminate: Terminate a process.
    terminate [process id]
  • viewjobs: List active background jobs.
    viewjobs
  • sendtoback: Send a job to the background.
    sendtoback [job id]
  • bringtofront: Bring a background job to the foreground.
    bringtofront [job id]

System Information

  • where: Display the current working directory.
    where
  • whome: Show the current user.
    whome
  • sysinfo: Display system information.
    sysinfo
  • today: Display the current date and time.
    today
  • calendar: Display the calendar.
    calendar

Utilities

  • say: Display a line of text.
    say [text]
  • searchfile: Search for files in a directory hierarchy.
    searchfile [filename]
  • fetchurl: Fetch content from a URL.
    fetchurl [URL]
  • visualize: Visualize the command flow.
    visualize [command]
  • repeat: Repeat a command multiple times.
    repeat [count] [command]

Installation Guide

Prerequisites

Ensure that the following packages are installed on your system:

Installing on Ubuntu/Debian


sudo apt-get update
sudo apt-get install build-essential libreadline-dev
git clone https://github.com/rajacharya987/razzshell.git
cd razzshell
gcc -o razzshell razzshell.c -lreadline
sudo cp razzshell /usr/local/bin/
sudo chmod +x /usr/local/bin/razzshell
            

Installing on Fedora


sudo dnf install gcc make readline-devel
git clone https://github.com/rajacharya987/razzshell.git
cd razzshell
gcc -o razzshell razzshell.c -lreadline
sudo cp razzshell /usr/local/bin/
sudo chmod +x /usr/local/bin/razzshell
            

Installing on Arch Linux

Option 1: Using yay (AUR Helper)


yay -S razzshell
            

Option 2: Building from Source


sudo pacman -S base-devel readline
git clone https://github.com/rajacharya987/razzshell.git
cd razzshell
gcc -o razzshell razzshell.c -lreadline
sudo cp razzshell /usr/local/bin/
sudo chmod +x /usr/local/bin/razzshell
            

Usage

Starting RazzShell

Run the compiled executable:

razzshell

Shell Prompt

Regular User: razzshell-$ [directory]>
Root User: razzshell-# [directory]>

Examples

Changing Directory:

razzshell-$ [directory]> change /path/to/directory

Listing Files with Colors:

razzshell-$ [directory]> list

Creating and Using an Alias:

razzshell-$ [directory]> makealias ll list
razzshell-$ [directory]> ll

Setting and Using an Environment Variable:

razzshell-$ [directory]> setenv MYVAR HelloWorld
razzshell-$ [directory]> say $MYVAR

Elevating to Root User within RazzShell:

razzshell-$ [directory]> sudo su
[sudo] password for user:
razzshell-# [directory]>

Source Code

RazzShell is open-source and available on multiple platforms. You can view and contribute to the source code on GitHub and other repositories.

Privacy Policy

Your privacy is important to us. This Privacy Policy explains how RazzShell collects, uses, and discloses information when you use our website and software.

Information We Collect

We do not collect personal information unless you voluntarily provide it to us, such as through contact forms or email subscriptions.

How We Use Information

Any information you provide is used solely to respond to your inquiries or improve our services. We do not sell or share your information with third parties.

Cookies

Our website may use cookies to enhance user experience. You can set your browser to refuse cookies or alert you when cookies are being sent.

Changes to This Policy

We may update our Privacy Policy from time to time. We encourage you to review this page periodically for any changes.

Terms and Conditions

By using RazzShell, you agree to comply with and be bound by the following terms and conditions.

Use of Software

RazzShell is provided "as is" without warranty of any kind. You are responsible for any damages or data loss resulting from its use.

Intellectual Property

The software is open-source and licensed under the MIT License. You may use, modify, and distribute it in accordance with the license terms.

Limitation of Liability

In no event shall the developers be liable for any damages arising out of the use or inability to use RazzShell.

Governing Law

These terms shall be governed by and construed in accordance with the laws of the jurisdiction in which you reside.