Pull to refresh

Comments 13

Что должен уметь наш терминал

Поддержка перемещения по директориям

Разбиение строки на токены

Автор не путает между собой терминал и командную оболочку?

Просветите же и автора и других читателей, кто не понимает, о чем вы говорите. В чем разница?
В посте не хватает цели всего этого мероприятия. Полагаю, что оболочка была написана just for fun и чтобы пощупать области, которые она затрагивает. Неплохо было бы это написать, чтоб не создавалось стойкое ощущение, что автор — тот еще велосипедист.
Полностью поддерживаю предыдущий комментарий. Прежде чем публиковать кучу кода на си хорошо бы сперва сказать, чем не устраивает BusyBox и куча существующих Shell оболочек.
Не знаю зачем это всё автору, но мне в качестве вечернего энтертейнмента зашло, хотя тоже не знаю почему.
Авторы публикуют свои курсовые работы на хабре? Не так давно помогал американскому студенту в его курсовой работе, по вот этому заданию.

В результате сделал компиляцию из двух источников:
1. github.com/brenns10/lsh
2. brennan.io/2015/01/16/write-a-shell-in-c

Рекомендую к ознакомлению всех, кому статья показалось интересной.
Начал забывать С видимо, а cppreference.com молчит,
if ((str_len = getline(&line, &size, stdin)) == -1)
— стандартная и прям сама выделяет память под буффер?
Здравствуйте, да, в документации так и написано:
If *lineptr is set to NULL and *n is set 0 before the call, then getline() will allocate a buffer for storing the line. This buffer should be freed by the user program even if getline() failed.

Функция входит в Posix API:
Both getline() and getdelim() were originally GNU extensions. They were standardized in POSIX.1-2008.

Sign up to leave a comment.

Articles