Ctrl + R работает с ksh
в режиме emacs
( ksh -o emacs
или установить -o emacs
внутри ksh
), и, скорее всего, это была первая оболочка, которая его поддерживала. Только он не такой интерактивный, как в виджете zsh
или bash
или tcsh
i-search-back
.
В ksh
(оба ksh88
и ksh93
) вы набираете Ctrl + R текст
Return . И Ctrl + R Верните для повторного поиска с тем же текстом.
В режиме vi
вы можете использовать ?
для поиска назад и n
для следующего поиска.
Эта функция emacs
инкрементного поиска была добавлена в:
bash
/ readline
по крайней мере с июля 1989 года, поскольку эта функция уже упоминалась на usenet в то время , но, вероятно, не с самого начала, поскольку в версии readline
, поставляемой с zsh-1.0
, этого не было. zsh
с версии 2.0 в 1991 году после того, как редактор строк был переписан и больше не использовался readline
. tcsh
в V6.00.03, 21.10.91, но не привязан по умолчанию ( tcsh
некоторое время до этого имел другой механизм поиска на Meta-P хоть). ksh
: ksh
, скорее всего, была первой оболочкой Unix с режимом редактирования emacs
, написанным в 1982 году Майком Вичем (а также vi
Пэта Салливана с повторным использованием кода, который эти двое уже независимо применили к оболочке Bourne) в AT&T. ksh был впервые представлен за пределами AT&T на конференции USENIX 1983 г. , где были описаны эти функции , но не был коммерчески доступен до некоторого времени после этого ( 1 , ] 2 ). Трудно сказать, был ли ^ R
уже там в то время (во всяком случае, он уже был там в 1986 и 1985 (см. usr / man / man1 / ksh .1
страница руководства ksh85 в , этот архив Unix V8 в Unix Heritage Society )), но трудно представить, что это не так, поскольку это важная функция, особенно для оболочки, и я ' d ожидаем, что vi
режим ?
тоже был бы там в то время. Для hostname -d
, используйте hostname -f
:
hostname -f | sed -e 's/^[^.]*\.//'
Для IP-адресов используйте ifconfig -a
(ищите данные inet
). На вашей машине может быть только одно сетевое устройство, en0
, поэтому вы можете обойтись только
ifconfig en0 |awk '/inet / {print $2; }'
Если вас интересуют все сетевые устройства, имейте в виду, что ifconfig -l
выводит список устройств. Здесь перечислены устройства и их соответствующие адреса:
#!/bin/sh
for name in $(ifconfig -l)
do
ifconfig $name |awk -v name=$name '/inet / {printf "%s: %s\n", name, $2; }'
done
Дополнительная информация:
Utilice 'cavar'. Buscar comandos similares a whois
excavar nombre de host => ambos nombre de host + ipaddy
dig ip.address => no tan completa
ipconfig getifaddr $(route get 8.8.8.8 | awk '/interface: / {print $2; }')