Проверка правописания входа пользователя aspell, но как вызвать ИНТЕРАКТИВНЫЙ РЕЖИМ в этом контексте?

Именно это и делает MASQUERADE: он заменяет исходный адрес источника адресом интерфейса, через который пакет собирается выйти. Если вы хотите сохранить оригинальный адрес, не используйте маскарадинг.

0
18.08.2018, 13:57
3 ответа

Думаю, без временного файла не обойтись. zshимеет встроенную поддержку для этого с помощью =(...)формы подстановки команд.

Здесь, по буквам -проверьте содержимое переменной (выводаprintf %s $string):

{
  (){
    aspell check -x $1 >&3 3>&-
    cat $1
  } =(printf %s $string) | IFS= read -rd '' corrected_string
} 3>&1
0
28.01.2020, 04:13

Вот решение, которое у меня сработало:

TMP_FILE=`mktemp`

echo "${USER_INPUT}" > "${TMP_FILE}"

# Allows me to read user input below, assigns stdin to keyboard
exec < /dev/tty

# I'm assuming you have a aspell (spell checker) installed on your system
# invoke aspell and check for typos
/usr/bin/aspell check "${TMP_FILE}"

ANSWER=$(cat $TMP_FILE )

if [[ "${ANSWER}" != "${USER_INPUT}" ]]; then
    echo "After applying fixes: ${ANSWER}"
fi

Наслаждайтесь!

0
28.01.2020, 04:13

Я написал сценарий оболочки из 1 -строк, который я назвал dict:

#!/bin/sh
echo $* | aspell pipe

dict charitible @(#) International Ispell Version 3.1.20 (but really Aspell 0.60.7-20110707)
& charitible 8 0: charitable, charitably, heritable, veritable, writable, credible, shareable, irritable

0
23.04.2020, 20:19

Теги

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