eval
часть POSIX. Интерфейс, который может быть встроенной оболочкой.
Его описанный в "Руководстве Программиста POSIX": http://www.unix.com/man-page/posix/1posix/eval/
eval - construct command by concatenating arguments
Это возьмет аргумент и создаст команду из него, которая будет выполняться оболочкой. Это - пример страницы справочника:
1) foo=10 x=foo
2) y='$'$x
3) echo $y
4) $foo
5) eval y='$'$x
6) echo $y
7) 10
$foo
со значением '10'
и $x
со значением 'foo'
. $y
, который состоит из строки '$foo'
. Со знаком доллара нужно оставить '$'
. echo $y
.'$foo'
eval
. Это сначала оценит $x
к строке 'foo'
. Теперь у нас есть оператор y=$foo
который будет оценен к y=10
.echo $y
теперь значение '10'
.Это - общая функция на многих языках, например, Perl и JavaScript. Взгляните на perldoc оценку для большего количества примеров: http://perldoc.perl.org/functions/eval.html
tty является собственным оконечным устройством, бэкенд является или аппаратными средствами или эмулированным ядром.
Имущество (устройство псевдотерминала) является оконечным устройством, которое эмулировано другой программой (пример: xterm
, screen
, или ssh
такие программы). pts является ведомой частью имущества.
(Больше информации может быть найдено в man pty
.)
Краткое изложение:
Имущество создается процессом через posix_openpt()
(который обычно открывает специальное устройство /dev/ptmx
), и составлен парой двунаправленных устройств посимвольного ввода-вывода:
Основная часть, которая является дескриптором файла, полученным этим процессом через этот вызов, используется для эмуляции терминала. После некоторой инициализации вторая часть может быть разблокирована с unlockpt()
, и ведущее устройство используется, чтобы получить или отправить символы в эту вторую часть (ведомое устройство).
Ведомая часть, которая привязывается в файловой системе как /dev/pts/x
(настоящее имя может быть получено ведущим устройством через ptsname()
) ведет себя как собственное оконечное устройство (/dev/ttyx
). В большинстве случаев оболочка запускается, который использует ее в качестве терминала управления.
A tty
обычное оконечное устройство (консоль на Вашем сервере, например).
A pts
psuedo терминальное ведомое устройство ( xterm
или ssh
соединение).
man pts
имеет подробное описание псевдотерминалов.