BashBuddy is a comprehensive tool designed to ensure your Bash scripts run smoothly across different environments by managing system commands and package dependencies. It supports a variety of package managers across Linux distributions and macOS.
- Automatic detection of the operating system and the appropriate package manager.
- Verification of required system commands' availability.
- Installation of missing packages upon user confirmation.
- Support for
apt
,dnf
/yum
,brew
, andpacman
package managers. - Friendly, optional humor for users of all distributions, including Arch Linux.
BashBuddy comes with three key scripts:
-
Main Skeleton Script: The backbone of BashBuddy, providing the fundamental logic for detecting package managers, checking for command availability, and managing package installations.
-
Simulation Sample Script: A demonstration tool that simulates BashBuddy's functionality. It showcases how command-to-package mappings are defined and utilized, making it an excellent educational resource.
-
Fully Working Sample Script: An expanded version of the Main Skeleton Script, including comprehensive command-to-package mappings and real installation capabilities. This script is intended for users who want to see BashBuddy in action, managing actual dependencies.
# Clone the repository
git clone https://github.com/shadowdevnotreal/Bash-Buddy.git
# Navigate to the BashBuddy directory
cd BashBuddy
# Make the scripts executable
chmod +x bashbuddy.sh
chmod +x sim_sample.sh
chmod +x full_sample.sh
Run BashBuddy with a list of required commands. It will verify their presence and offer to install any that are missing.
./bashbuddy.sh curl wget tar
Understand BashBuddy's logic without affecting your system by running the simulation script.
./sim_sample.sh
Use the fully working sample script for managing real dependencies. This script will perform actual checks and installations.
./full_sample.sh git nvim htop
We welcome contributions! Please follow these steps to contribute to darooch:
- Fork the Project.
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
). - Commit your Changes (
git commit -m 'Add some AmazingFeature'
). - Push to the Branch (
git push origin feature/AmazingFeature
). - Open a Pull Request.
For support, feedback, or suggestions, please open an issue in the GitHub repository. Your input helps make BashBuddy better for everyone.
- Ensure you replace
https://github.com/shadowdevnotreal/Bash-buddy.git
with the actual URL of your GitHub repository. - Adjust any specific instructions or descriptions as needed based on your project's setup or requirements.
- If you have not already, consider adding a
LICENSE
file to clearly communicate how others can use or contribute to your project.
This README provides a comprehensive guide for users to get started, understand its features, and know how to contribute.
As always = TY 😊