Ваш код:
echo "Enter peak value"
read peak
awk '/${peak}/{c=3}c&&c--' consolelog.log > testing.txt
Это не работает, потому что сильные кавычки не позволяют оболочке выполнять раскрытие переменных. Это хорошо, потому что awk
использует много синтаксиса, который очень затруднил бы использование слабых кавычек.
Однако существуют способы использования переменных окружения в скрипте awk
.
Вы можете объявить собственную переменную:
read peak
awk -vpeak="$peak" '$0 ~ peak { c=3 } c&&c--' consolelog.log > testing.txt
Или вы можете просто сказать awk
посмотреть на тот, который вы только что использовали read
для заполнения:
read peak
export peak
awk '$0 ~ ENVIRON["peak"] { c=3 } c&&c--' consolelog.log > testing.txt
После нескольких часов экспериментов я нашел обходной путь. Публикация обходного пути на случай, если кто-то столкнется с похожей проблемой:
В своем приложении я запускаю свое приложение, запуская Weston и передавая свой GTK абсолютный путь приложения в качестве параметра для параметра client
в разделе [shell]
в моем файле weston.ini
.
Чтобы запустить Weston без ввода, я добавляю параметр командной строки --continue-without-inputs
, как показано ниже:
/usr/bin/weston --continue-without-inputs &