Короткий ответ: Используйте двойные кавычки вместо одинарных кавычек.
Одинарные кавычки предотвращают расширяющиеся переменные оболочки, в то время как двойные кавычки не делают.
Поскольку намного больше детали видит http://www.grymoire.com/Unix/Quote.html
Полное изложение включено в документацию Вашей оболочки, и между различными оболочками существует некоторое изменение, но основы являются тем же почти в каждой оболочке стиля Unix.
Предыдущий текст заголовка не должен быть обработан. Ожидайте будет ожидать, пока одно из условий не соблюдают (как соответствие string/regexp или таймаут). Текст перед ним буферизуется для возможного, позже используют, но не часть соответствия. То, что необходимо обработать, ищет строку приглашения: local-login [/home/user]%
. Если у Вас будет хорошая идея, на что это может быть похожим (например, то будет всегда иметь' [' каталог'] % ', то можно записать регулярное выражение для соответствия против этого:
.*\[(/[^/]+)+\]%
Удостоверьтесь, что у Вас нет новой строки/возврата каретки в регулярном выражении, так как вывод не будет иметь того.
Я не думаю, что Вы можете использовать регулярные выражения для соответствия в ExpectJ. Кажется, что они полагаются String.indexOf
найти соответствие
if (line.toString().trim().toUpperCase().indexOf(pattern.toUpperCase()) != -1)
где pattern
предоставленная строка состоит в том, чтобы ожидать.
Так пытаются вместо этого соответствовать на подстроке и видеть, работает ли она лучше.