arp -na | grep $(virsh domiflist VM01 | tail -n +3 | awk '{print$5}' | sed '/^$/d') | cut -c 4-17
Это работает хорошо для меня.
Чтобы сделать кеш в arp,
IP=`nmap -sn '192.168.200.*' | grep 'Nmap scan' | awk '{print$5}'` ; for i in $IP ; do ping $i -c 1 ; done
Что касается Linux, то большинство файлов Makefile, которые я видел за последние два десятилетия, не используют ничего, кроме gcc
/ g++
. Когда кто-то хочет использовать настоящий компоновщик, а не GCC, он обычно указывает ld
. Я видел cc
, может быть, один раз.
Большинство дистрибутивов Linux предоставляют символическую ссылку с cc
на gcc
, но они не будут доступны, если вы удалите GCC и установите вместо него clang.
Не знаю, является ли он портативным, например. FreeBSD недавно перешла на Clang/LVM, другие BSD продолжают использовать GCC, Mac OS также использует Clang. У Android есть собственный набор инструментов.
Я не пользовался никакими другими Unix-системами, так что без комментариев.
Каков ваш вариант использования? Пожалуйста, отредактируйте свой вопрос и предоставьте более подробную информацию.
Передний конец компилятора POSIX C -теперь c99
; cc
широко доступен, но не гарантируется. POSIX не определяет ничего, связанного с C++ -, поэтому вы не найдете там стандартизированной команды для вызова компилятора и компоновщика C++.
Общепринятая практика (см., например, GNU Make)— полагаться на переменные CC
и CXX
. В случае GNU значения по умолчанию для них — cc
и g++
соответственно; BSD, как правило, используют cc
и c++
(, см., например, конфигурацию OpenBSD). Доступ к компоновщику осуществляется через драйвер компилятора, а не вызывается явно.