Можете ли вы объяснить выражение eval по умолчанию .bashrc

Я искал внутри /etc/skel/.bashrc и нашел эту строку:

[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"

Я понимаю, что делает тест -x, но все, что происходит с eval, непонятно.

Более того, когда я запускаю эту строку в других дистрибутивах Linux, это вызовет ошибку:

#  eval "$(SHELL=/bin/bash lesspipe)"
bash: syntax error near unexpected token `newline'

Это на Ubuntu 14.04 (bash 4.3.11 (1)), и другая версия bash, которую я тестировал, составляет 4.3.39 (1).

Можете ли вы объяснить, что делает эта строка, и почему я получаю вышеуказанную ошибку?

1
задан 22 January 2016 в 21:17

0 ответов

Другие вопросы по тегам:

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