├── .gitignore ├── .pre-commit-config.yaml ├── .travis.yml ├── README.md ├── assets └── unix_shell.gif ├── pysh ├── Command.py ├── ShellProcessor.py ├── __init__.py ├── builtins │ ├── __init__.py │ ├── cat.py │ ├── cd.py │ ├── curl.py │ ├── echo.py │ ├── exit.py │ ├── grep.py │ ├── ls.py │ ├── mkdir.py │ ├── pwd.py │ ├── rm.py │ └── touch.py ├── interpreter.py ├── shell.py └── util.py ├── requirements.txt ├── run_all_tests.sh ├── setup.py ├── tests ├── cat.in ├── grep.in ├── test_cat.py ├── test_cd.py ├── test_echo.py ├── test_grep.py ├── test_parser.py └── test_processor.py └── welcome_to_pysh.sh /.gitignore: -------------------------------------------------------------------------------- 1 | *pyc 2 | env/ 3 | .idea/ 4 | pysh.egg-info/ 5 | .cache/ 6 | -------------------------------------------------------------------------------- /.pre-commit-config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiacai2050/pysh/HEAD/.pre-commit-config.yaml -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiacai2050/pysh/HEAD/.travis.yml -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiacai2050/pysh/HEAD/README.md -------------------------------------------------------------------------------- /assets/unix_shell.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiacai2050/pysh/HEAD/assets/unix_shell.gif -------------------------------------------------------------------------------- /pysh/Command.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiacai2050/pysh/HEAD/pysh/Command.py -------------------------------------------------------------------------------- /pysh/ShellProcessor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiacai2050/pysh/HEAD/pysh/ShellProcessor.py -------------------------------------------------------------------------------- /pysh/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /pysh/builtins/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiacai2050/pysh/HEAD/pysh/builtins/__init__.py -------------------------------------------------------------------------------- /pysh/builtins/cat.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiacai2050/pysh/HEAD/pysh/builtins/cat.py -------------------------------------------------------------------------------- /pysh/builtins/cd.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiacai2050/pysh/HEAD/pysh/builtins/cd.py -------------------------------------------------------------------------------- /pysh/builtins/curl.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiacai2050/pysh/HEAD/pysh/builtins/curl.py -------------------------------------------------------------------------------- /pysh/builtins/echo.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiacai2050/pysh/HEAD/pysh/builtins/echo.py -------------------------------------------------------------------------------- /pysh/builtins/exit.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiacai2050/pysh/HEAD/pysh/builtins/exit.py -------------------------------------------------------------------------------- /pysh/builtins/grep.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiacai2050/pysh/HEAD/pysh/builtins/grep.py -------------------------------------------------------------------------------- /pysh/builtins/ls.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiacai2050/pysh/HEAD/pysh/builtins/ls.py -------------------------------------------------------------------------------- /pysh/builtins/mkdir.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiacai2050/pysh/HEAD/pysh/builtins/mkdir.py -------------------------------------------------------------------------------- /pysh/builtins/pwd.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiacai2050/pysh/HEAD/pysh/builtins/pwd.py -------------------------------------------------------------------------------- /pysh/builtins/rm.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiacai2050/pysh/HEAD/pysh/builtins/rm.py -------------------------------------------------------------------------------- /pysh/builtins/touch.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiacai2050/pysh/HEAD/pysh/builtins/touch.py -------------------------------------------------------------------------------- /pysh/interpreter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiacai2050/pysh/HEAD/pysh/interpreter.py -------------------------------------------------------------------------------- /pysh/shell.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiacai2050/pysh/HEAD/pysh/shell.py -------------------------------------------------------------------------------- /pysh/util.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiacai2050/pysh/HEAD/pysh/util.py -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiacai2050/pysh/HEAD/requirements.txt -------------------------------------------------------------------------------- /run_all_tests.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiacai2050/pysh/HEAD/run_all_tests.sh -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiacai2050/pysh/HEAD/setup.py -------------------------------------------------------------------------------- /tests/cat.in: -------------------------------------------------------------------------------- 1 | aaa 2 | bbb 3 | ccc -------------------------------------------------------------------------------- /tests/grep.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiacai2050/pysh/HEAD/tests/grep.in -------------------------------------------------------------------------------- /tests/test_cat.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiacai2050/pysh/HEAD/tests/test_cat.py -------------------------------------------------------------------------------- /tests/test_cd.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiacai2050/pysh/HEAD/tests/test_cd.py -------------------------------------------------------------------------------- /tests/test_echo.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiacai2050/pysh/HEAD/tests/test_echo.py -------------------------------------------------------------------------------- /tests/test_grep.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiacai2050/pysh/HEAD/tests/test_grep.py -------------------------------------------------------------------------------- /tests/test_parser.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiacai2050/pysh/HEAD/tests/test_parser.py -------------------------------------------------------------------------------- /tests/test_processor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiacai2050/pysh/HEAD/tests/test_processor.py -------------------------------------------------------------------------------- /welcome_to_pysh.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jiacai2050/pysh/HEAD/welcome_to_pysh.sh --------------------------------------------------------------------------------