LSH

LSH 是一个简单的 C 语言 shell 实现。「LSH is a simple implementation of a shell in C」

Github stars Tracking Chart

LSH

LSH is a simple implementation of a shell in C, and it is the subject of a
tutorial on my website. It demonstrates the basics of how a shell works.
That is: read, parse, fork, exec, and wait. Since its purpose is demonstration
(not feature completeness or even fitness for casual use), it has many
limitations, including:

  • Commands must be on a single line.
  • Arguments must be separated by whitespace.
  • No quoting arguments or escaping whitespace.
  • No piping or redirection.
  • Only builtins are: cd, help, exit.

Running

Use gcc -o lsh src/main.c to compile, and then ./lsh to run. If you would
like to use the standard-library based implementation of lsh_read_line(), then
you can do: gcc -DLSH_USE_STD_GETLINE -o lsh src/main.c.

Contributing

Since this is the subject of a tutorial, I'm not looking to extend it with
additional features at this time. So I won't be accepting any pull requests
that aren't related to bug fixes (and I'm sure there are still bugs in the
code!).

However, that doesn't mean that you shouldn't play with the code, make changes,
and explore new features! That's the whole point of this project! It's just
that other people are doing the same thing, and this project is merely a
starting point for your own exploration.

On that note, I would be just tickled if you dropped me a line (see my website
for contact info) to show me the cool new features you've added!

License

This code is in the public domain (see UNLICENSE for more details).
This means you can use, modify, and distribute it without any restriction. I
appreciate, but don't require, acknowledgement in derivative works.

Main metrics

Overview
Name With Ownerbrenns10/lsh
Primary LanguageC
Program languageC (Language Count: 1)
Platform
License:The Unlicense
所有者活动
Created At2015-01-09 04:20:10
Pushed At2022-08-02 06:53:23
Last Commit At2022-08-02 14:53:23
Release Count0
用户参与
Stargazers Count1.6k
Watchers Count48
Fork Count350
Commits Count27
Has Issues Enabled
Issues Count13
Issue Open Count3
Pull Requests Count6
Pull Requests Open Count2
Pull Requests Close Count6
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private