# hashell **Repository Path**: cycoe/hashell ## Basic Information - **Project Name**: hashell - **Description**: No description available - **Primary Language**: Unknown - **License**: BSD-3-Clause - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-07-29 - **Last Updated**: 2026-05-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # hashell a rich-featured shell written in haskell ## features - [ ] bash compatible syntax - [ ] built-in commands - [X] input/output redirect from/to file - [X] command pipeline - [ ] variable evaluation - [ ] glob match and replace - [ ] (Optional) flow control - [ ] basic functions - [ ] environment variables management - [ ] keyboard signal handling - [ ] dynamic and user defined prompt - [ ] easy background jobs management - [ ] set builtin environment after command executed - [X] catch stdin from keyboard input - [X] command history support - [ ] advanced features - [ ] highlighting - [ ] auto complete - [ ] (Maybe) lisp syntax support ### bash compatible syntax Bash shell syntax is suck though, but calling commands like `command arg1 arg2 ...` is the most convenient way for daily-use. Thus hashell also support some bash builtin syntax. #### input from file and output to file syntax ``` bash # output to file command args... > ouptut.txt # input from file command args... < input.txt ``` #### command pipeline syntax ``` bash command1 args... | command2 args... ``` Redirect output of command1 as input of command2. Standard output and standard error should be handled each, which will be supported in future. ### basic functions #### command history support Command history is saved in file `${HOME}/.hashell_history.txt`. You can navigate among history by up/down key. ### advanced features #### auto complete Auto completion of files and paths is native supported by isocline module