🐚 Fortsh - Fortran Shell

A modern Unix shell implementation in Fortran 2018 with advanced features

v1.0.1

🚀 Features

🔧 Advanced I/O

Pipes, here-strings, process substitution, and comprehensive redirection support

📜 Full Scripting

Loops, functions, local variables, and control flow constructs

⚙️ Job Control

Background jobs, suspend/resume, and process group management

🔍 Pattern Matching

Glob patterns (*,?,[]), recursive matching, and sorting

📊 Performance

Built-in monitoring, memory pools, and optimization

🛡️ Error Handling

Comprehensive test suite and robust error management

📦 Installation

Method 1: YUM/DNF Repository (Recommended)

# Add repository
sudo wget -O /etc/yum.repos.d/fortsh.repo https://repos.musicsian.com/fortsh.repo

# Install fortsh
sudo dnf install fortsh

Method 2: Direct RPM Installation

sudo dnf install https://repos.musicsian.com/RPMS/fortsh-1.0.1-1.el9.x86_64.rpm

Method 3: Build from Source

git clone https://github.com/FortranGoingOnForty/fortsh.git
cd fortsh
make all
make dev-install

🎯 Usage Examples

# Basic shell usage
fortsh

# Performance monitoring
export FORTSH_PERF=1
fortsh

# Advanced scripting
for file in *.txt; do
  echo "Processing: $file"
done

# Job control
command &          # Run in background
jobs              # List jobs
fg %1             # Bring to foreground

# Pattern matching
echo *.{txt,log}  # Glob expansion
echo test-[0-9]*  # Character classes

⚡ Performance Features

# Enable performance monitoring
perf on

# View memory usage
memory

# Built-in commands provide runtime stats
# - Parse time: ~0.009ms average
# - Execution time: ~0.115ms average  
# - Memory pools for optimization
# - Automatic memory optimization

📋 Requirements

🔗 Links

📝 License

MIT License - Free and open source