Вообще говоря, не рекомендуется внедрять команду в переменную, а затем выполнять эту переменную. Однако вы можете использовать для этого функцию.
Во-первых, давайте объясним, что происходит и почему вы получаете сообщение об ошибке. Все дело в порядке оценки.
add_Area="awk -F\t '{$1="area" FS $1;}1' OFS='\t'"
Двойные -кавычки вокруг строки позволяют оболочке оценивать переменные. В этом случае $1
виден и обрабатывается оболочкой, и вполне вероятно, что он не установлен. Кроме того, вы пытаетесь поместить двойные кавычки внутрь двойных кавычек, что на самом деле означает, что раздел с двойными кавычками -останавливается и перезапускается немного позже. Результирующее назначение становится таким:
add_Area="awk -F\t '{=area FS ;}1' OFS='\t'"
Когда вы пытаетесь запустить это на следующей строке, происходит сбой, потому что это синтаксически неверно.
Теперь давайте рассмотрим способ решения того, чего, как я думаю, вы пытаетесь достичь.
# Declare a function
add_Area() {
awk -F$'\t' 'BEGIN { OFS = FS } { $1 = "area" FS $1 } 1'
}
# Use the function as if it were a normal command
Output="$( echo "$some_csv_var" | add_Area )"
# Later
echo "$Output"
Это не консоль. Консоль — это отдельная вещь в Linux, которая может быть последовательным устройством, параллельным устройством или виртуальным терминалом ядра . То, о чем вы говорите, это перемещение КВТ.
There is only one framebuffer
Существует способ перемещения KVT в другие буферы кадра. Это можно сделать при начальной загрузке из командной строки ядра, а также настроить во время выполнения с помощью служебных программ. Это было примерно с 1990-х годов; так долго, что некоторые операционные системы Linux отказались от служебных программ, хотя они все еще работают.
Предпосылкой для этого, однако, является наличие другого буфера кадра для перемещения в .
То же предварительное -условие применяется к работающим фреймбуферам -на основе пользовательского -режима виртуальных терминалов. Им тоже нужен фреймбуфер.
Итак, сначала получите еще один фреймбуфер для видеоадаптера, на котором вы хотите, чтобы они отображались.