Как мой сценарий может знать, когда я нахожусь в виртуальной консоли по сравнению с xterm?

Я не уверен, что понимаю, и я не знаком с ack-grep утилитой, но почему Вы не пытаетесь сократить из первого вхождения? к "?

Что-то как следующее:

По причине удобочитаемости я поместил тег HTML в переменную

var='<a href="http://example.com/fnord.layername.html?parameter=FOO-_-BAR-_-FNORD" class="poit">'

cut -d '?' -f 2- <(echo $var ) | cut -d '"' -f 1
11
03.09.2012, 17:33
3 ответа

Это звучит мне как Вы, хотят проверить, существует ли X-сервер для соединения с.

Что-то как:

if [ -n "$DISPLAY" ]; then
  : X
else
  : no X
fi
6
27.01.2020, 19:57
  • 1
    я никогда не был в положении наличия трех идеальных ответов на stackexchange. –  John Baber-Lucero 04.09.2012, 00:05

Если Вы означали различать интерактивный от неинтерактивных оболочек, использовать testвстроенная поддержка обнаружения его (не уверенный, если ksh имеет его, но двоичный файл от coreutils поддерживает его также):

test -t 0 # will return 0 for interactive shells

Если Вы действительно имели в виду, являетесь ли Вы на tty/pty/pts или чем-то еще, анализируете вывод от tty:

$ tty # konsole
/dev/pts/4
$ tty # virtual terminal
/dev/tty2
9
27.01.2020, 19:57
  • 1
    я никогда не был в положении наличия трех идеальных ответов на stackexchange. –  John Baber-Lucero 04.09.2012, 00:01

Это будет зависеть от операционной системы. Для Linux Вы могли сделать это:

#!/bin/ksh

if [ "$TERM" == "linux" ]; then
  echo "I'm in a virtual console"
else
  echo "I'm not in a virtual console"
fi

Это, конечно, предполагает, что Вы не изменились TERM переменная среды самостоятельно, которая автоматически установлена на linux только, когда Вы входите в виртуальную консоль (в соответствии с Ubuntu, она установлена на xterm в консольных приложениях, но это может варьироваться между Ose). Проверьте содержание ТЕРМИНА в различных приложениях, которые Вы используете, и набор как соответствующий.

7
27.01.2020, 19:57
  • 1
    я никогда не был в положении наличия трех идеальных ответов на stackexchange. –  John Baber-Lucero 04.09.2012, 00:01

Теги

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