Как читать исходный код команды bash shell? [Дубликат]

Вы также можете зацепить mouseenter (это событие запускается после перезагрузки страницы, когда мышка находится внутри страницы). Расширение кода Corrupted должно делать трюк:

var x = null; var y = null; document.addEventListener ('mousemove', onMouseUpdate, false); document.addEventListener ('mouseenter', onMouseUpdate, false); function onMouseUpdate (e) {x = e.pageX; y = e.pageY; console.log (x, y); } function getMouseX () {return x; } function getMouseY () {return y; }

Вы также можете установить x и y в значение null на mouseleave-event. Таким образом, вы можете проверить, находится ли пользователь на вашей странице с помощью курсора.

124
задан Zagorax 17 July 2012 в 22:50
поделиться

8 ответов

Все эти основные команды являются частью пакета coreutils.

Вы можете найти всю необходимую информацию здесь:

http: //www.gnu. org / software / coreutils /

Если вы хотите загрузить последний источник, вы должны использовать git:

git clone git://git.sv.gnu.org/coreutils

Чтобы установить git на вашей машине Ubuntu, вы должны использовать apt-get (git не входит в стандартную установку Ubuntu):

sudo apt-get install git

По правде говоря, здесь вы можете найти конкретный источник для команды ls:

http://git.savannah.gnu.org/cgit/coreutils.git/tree/src/ls.c

Только 4984 строк кода для команды «достаточно легко» в качестве ls ... вы все еще интересуетесь чтением? Удачи! : D

139
ответ дан Zagorax 16 August 2018 в 02:03
поделиться
  • 1
    О, МОЙ БОГ! Я думал, что это будет немного легче ... Ну, путь длиннее и сложнее, чем ожидалось :-) – Luigi Tiburzi 18 July 2012 в 00:26
  • 2
    Попробуйте источник для cat . Это всего 767 строк. – Drew Noakes 24 September 2014 в 00:08
  • 3
    Only 4984 code lines ... - Кажется, через 4 года и 3 месяца ls стало еще более сложным 57 строк. – sherrellbc 14 October 2016 в 13:43
  • 4
    Я помню, как только я попытался понять, почему wc намного быстрее, чем эквивалентная Java-программа. Поэтому я просмотрел код ... OMG оптимизирован для чтения дисков, ввода буферов и т. Д. Или что :) – yǝsʞǝlA 2 December 2016 в 03:04
  • 5
    @ yǝsʞǝlA Я не владею C; как вы говорите, для чего он оптимизирует? Можете ли вы привести мне пример? – Abdul 30 March 2017 в 18:13

ls является частью coreutils. Вы можете получить его с помощью git:

git clone git://git.sv.gnu.org/coreutils

Вы найдете coreutils, перечисленные в других пакетах (прокрутите вниз) на на этой странице .

6
ответ дан Denys Séguret 16 August 2018 в 02:03
поделиться

Прямые ссылки на источник для некоторых популярных программ в coreutils :

Полный список здесь.

97
ответ дан Drew Noakes 16 August 2018 в 02:03
поделиться

Здесь вы можете найти множество команд:

http://www.opensource.apple.com/source/shell_cmds/shell_cmds-170/

0
ответ дан Guru 16 August 2018 в 02:03
поделиться

Посетите, например:

http://ftp.gnu.org/pub/gnu/coreutils/

Вы можете просматривать код онлайн , Откройте один из архивов и проверьте папку src.

1
ответ дан Haile 16 August 2018 в 02:03
поделиться
    cd ~ && apt-get source coreutils && ls -d coreutils*     

Вы должны иметь возможность использовать такую ​​команду на ubuntu для сбора источника для пакета, вы можете опустить sudo при условии, что вы загрузите его в свое местоположение.

-1
ответ дан Harshiv 16 August 2018 в 02:03
поделиться

На самом деле, более разумные источники предоставлены http://suckless.org для просмотра их репозитория sbase:

git clone git://git.suckless.org/sbase

Они яснее, умнее, проще и suckless, например, ls.c имеет всего 369 LOC

. После этого будет легче понять более сложный код GNU.

4
ответ дан hurufu 16 August 2018 в 02:03
поделиться

CoreUtils, о которых говорится в других сообщениях, НЕ показывает реальную реализацию большинства функций, которые, как я думаю, вы ищете. В большинстве случаев он предоставляет интерфейсы для фактических функций, которые извлекают данные, которые можно найти здесь:

Он построен на Gnulib с фактическим исходным кодом в Lib-подкаталог

1
ответ дан slashmais 16 August 2018 в 02:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: