Эквивалент терминала Mac OS X для информации об имени хоста

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 режим ? тоже был бы там в то время.

4
23.10.2016, 19:09
3 ответа

Для 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

Дополнительная информация:

8
27.01.2020, 20:57

Utilice 'cavar'. Buscar comandos similares a whois

excavar nombre de host => ambos nombre de host + ipaddy

dig ip.address => no tan completa

-1
27.01.2020, 20:57
ipconfig getifaddr $(route get 8.8.8.8 | awk '/interface: / {print $2; }')
0
27.01.2020, 20:57

Теги

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