эхо не заносится в хеш-таблицу - PullRequest
0 голосов
/ 24 мая 2019

Когда я вызываю команду echo, она не заносится в хеш-таблицу.

Я пробовал несколько других команд, которые соответственно вводятся в хеш-таблицу.

$date
Sat May 25 01:16:40 CST 2019

$hash
hits    command
   1    /bin/date

$which date
/bin/date

$hash
hits    command
   1    /usr/bin/which
   1    /bin/date

$echo “123”
“123”

$hash
hits    command
   1    /usr/bin/which
   1    /bin/date

Как видите, эхо не заносится в хеш-таблицу. Точно так же команда, такая как pwd, также не вводится в хеш-таблицу.

1 Ответ

2 голосов
/ 24 мая 2019

which - это внешняя команда, а не часть оболочки.Следовательно, он не может знать о встроенных функциях оболочки, функциях или псевдонимах;поэтому его вывод часто бесполезен.Сравните с type:

$ hash -r
$ type date
date is /usr/bin/date
$ type echo
echo is a shell builtin

... и в этом ваша разница.echo является частью самой оболочки, поэтому нет необходимости искать внешний двоичный файл и, следовательно, нет необходимости хранить местоположение этого двоичного файла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...