Shell project

Moul 3af6144027 [norm] pipe: modifications which do not modify behavior. 2 years ago
doc 606f30f07e [doc] rename documents to more explicit names. 2 years ago
libft 7de8a1f4dc [fix] libft: tabdel: prevent segfault if tab null. 2 years ago
non_use_src 1dc5e1f084 [mod] add non used code for cote parsing. 2 years ago
src 3af6144027 [norm] pipe: modifications which do not modify behavior. 2 years ago
.gitignore 666c38c089 [doc] add subject, rename folder scale to doc. 2 years ago
LICENSE 0b0938d923 initial commit 3 years ago
Makefile dce0b34bfe [wip] refactor pipe and redirection parsing. 2 years ago
README.md 28977c150e [enh] update readme: remove copy/paste old shortcuts. Remove useless bonus and sort them. 2 years ago
TODO.md c4ac5b9121 [enh] update readme and todo about pipes before redirections. 2 years ago
auteur 4df0f1b9f6 [mod] remove execution rights on files. 3 years ago
leaks.sh 2e51bc9aa5 [enh] leaks: grep only main line. 2 years ago
shell_script.sh 5230434daa [enh] add basic shell script execution as parameter. 3 years ago
tests.sh feac05beb6 [enh] add unit tests for double redirections. 2 years ago

README.md

21 Shell

21 Shell project

Usage

  • Begin/End:
    • Home & End
    • Ctrl + A & Ctrl + E
  • Move between words: Ctrl + U & Ctrl + I
  • Move between lines up/down: Ctrl + T & Ctrl + G

Bonus

  • Rights on the path
  • ./21sh -c "ls; pwd"
  • Basic script execution: ./21sh script.sh
  • Unit tests: make test
  • Moving up and down between lines
  • Moving right left on many lines
  • Also works moving between words
  • Documented code with comments
  • Ctrl + L: clear

Functionnal schema

Three entries:

  • Command with '-c' option
  • Script as sub-cmd
  • Open Shell
    • Termcaps
    • Handle line parsing
    • History
    • Herething
    • Handle semicolons
      • Launch pipes
      • Launch redirections
      • Launch executions
      • Launch executables
      • Launch built-in: cd, pwd, env, setenv and unsetenv