<commit_before>```
                  _  __         _     
                 | |/ /__ _ ___| |__  
                 | ' // _` / __| '_ \ 
                 | . \ (_| \__ \ | | |
                 |_|\_\__,_|___/_| |_|
                            
                        a basic UNIX shell in C
```

# kash
Korn Again SHell for COP4600

## Features Implemented

- All built-in commands:
    - exiting
    - aliasing
    - set / unset env
    - printing aliases and environment
    - cd
- Basic (single) command execution
- Basic output file stdout redirection
- Appending to a file for stdout redirect
- Pipelines
- Input file redirection
- Stderr redirection
- Variable expansion
- Alias resolving
- background / foreground

## Features Not Implemented

- Wildcard matching
- Extra credit:
    - tilde expansion
    - tab completion

## Known Bugs

- find all char* memory leaks...
    - args
    - arglists
    - after command execution<commit_msg>update readme with build instructions<commit_after>```
                  _  __         _     
                 | |/ /__ _ ___| |__  
                 | ' // _` / __| '_ \ 
                 | . \ (_| \__ \ | | |
                 |_|\_\__,_|___/_| |_|
                            
                        a basic UNIX shell in C
```

# kash
Korn Again SHell for COP4600

## Features Implemented

- All built-in commands:
    - exiting
    - aliasing
    - set / unset env
    - printing aliases and environment
    - cd
- Basic (single) command execution
- Basic output file stdout redirection
- Appending to a file for stdout redirect
- Pipelines
- Input file redirection
- Stderr redirection
- Variable expansion
- Alias resolving
- background / foreground

## Features Not Implemented

- Wildcard matching
- Extra credit:
    - tilde expansion
    - tab completion

## Building and Running Kash

To build kash:

```bash
$ make
```

To run kash:

```
$ ./shell
```

To clean the directory before building again:

```
$ make clean
```

## Known Bugs

- find all char* memory leaks...
    - args
    - arglists
    - after command execution
{'fraction_non_alphanumeric': 0.09500959692898273, 'fraction_numerical': 0.003838771593090211, 'mean_word_length': 1.58364312267658, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1478490', 'n_tokens_mistral': 622, 'n_tokens_neox': 585, 'n_words': 183}