Одна вещь достойная рассмотрения состоит в том, что FreeBSD в настоящее время использует GCC 4.2.1, как отмечено в ire_and_curses, отвечают таким образом, что сравнения производительности не имеют 4,5, или даже 4.6 не действительно относятся к проекту. Поэтому вопросы, которые необходимо задавать:
Каково увеличение производительности нового Лязга по сравнению с более старым GCC, который использует проект?
Как делают те же двоичные файлы, скомпилированные в GCC 4.2.1, выдерживают сравнение с новым Лязгом?
Из-за перемещения GCC к GPL v3 FreeBSD был вынужден остаться использовать GCC 4.2.1 (GPL v2), который был выпущенным путем назад в 2007 и теперь значительно устарел.
Если Лязг отстает от текущего GCC, но является все еще световыми годами перед реализованным GCC в проекте затем, их решение развиться хорошо гарантировано и действительно вдохновлено.
Можно использовать tty
для получения названия текущего виртуального терминала затем протестируйте против него с a case
оператор:
#!/bin/sh
case $(tty) in /dev/tty[0-9]*)
vlock ;;
esac
Обычно достаточно просто протестировать STDIN (FD0):
[ -t 0 ] && echo "TTY available" || echo "No TTY available"
.bash_profile
назван на оболочках входа в систему, и нормальный вход в систему GUI не имеет терминала, таким образом, единственная терминальная оболочка входа в систему должна быть tty. Хорошая находка
– kiri
17.10.2013, 14:07
cron
или at
задания для предотвращения отказов, когда сценарии принимают интерактивный вход.
– JRFerguson
17.10.2013, 15:34
tty
покажет псевдотерминал эмулятора терминала, не физический терминал, который X работает. – Gilles 'SO- stop being evil' 18.10.2013, 00:54