Welcome to the scripts repository! This is a curated collection of scripts in Shell Script, Python, Ruby, and more to help you automate tasks and improve productivity.
This repository contains various utility scripts to address common tasks efficiently. Whether you are an experienced developer or just getting started, you'll find tools to optimize your workflow.
Supported languages:
- Shell Script
- Python
- Ruby
The scripts are fully supported on Python 3.6+ and Ruby 2.4+, with partial compatibility extending back to Python 3.1 and Ruby 2.0. The repository is also tested against current stable versions of both languages.
Run the following commands to clone and navigate into the repository:
git clone https://github.com/id774/scripts.git
cd scriptsTo simplify usage, set the $SCRIPTS environment variable:
export SCRIPTS='/path/to/scripts'Add this line to your .bashrc or .zshrc to persist the configuration.
Ensure all scripts have the correct permissions:
./setup_scripts.shRefer to the comments at the beginning of each script for usage instructions. Example:
$SCRIPTS/example_script.shTo validate the repository's integrity, run:
./run_tests.shThis script will:
- Verify the presence of Python and Ruby.
- Run all test files in the
testdirectory. - Output paths and versions for troubleshooting.
It exits with a non-zero status when any test fails.
A second layer runs nightly from cron/bin/run_tests, which drives
run_tests.sh once per configured Python and Ruby version and then applies the
repository-wide gates: the shell script validation (test/check_scripts.sh),
the header documentation check (check_header_doc.py -a), and the
compatibility check (find_pycompat.py). Checks that belong to the repository
as a whole, rather than to one interpreter version, are wired there instead of
into run_tests.sh.
We welcome contributions! Here's how you can help:
- Fork the repository.
- Add or improve a feature, or fix an issue.
- Submit a pull request with clear documentation and changes.
Please ensure your code is well-structured and documented.
Every executable carries a structured header block stating what it is, who wrote it, how it is driven, and what changed in each version. Read doc/POLICY before adding one: it defines the sections that block contains, when a version is bumped, and how configuration files, exit codes, and logging are expected to behave.
See doc/POLICY for detailed design and development standards across all supported languages, including Shell Script, Python, and Ruby implementations.
This repository is dual licensed under the GPL version 3 or the LGPL version 3, at your option. For full details, please refer to the LICENSE file. See also COPYING and COPYING.LESSER for the complete license texts.
Thank you for using and contributing to this repository!