У меня есть некоторые вопросы. У меня проблема со сценарием, который должен быть простой проверкой орфографии.Spell checker shell script
Что нужно сделать, когда обнаружено неправильное слово, оно предложит пользователю ввести правильное написание слова, если пользователь вводит правильную орфографию, он затем отобразит исправленное слово вместе с неправильное слово внизу (после прохождения всех слов). Но, если пользователь просто нажимает Enter, тогда он примет слово как правильное написание и поместит его в ~./Memory, так что если он снова запустится, он упустит это слово.
На данный момент правильные/неправильные варианты написания слов не отображаются и ничего не запоминается в ~./Памяти. И, честно говоря, я не совсем уверен, почему.
#! /bin/bash
wrongWords=`aspell list < $1`
touch ~/.memory
for wrongWord in $wrongWords
do
echo $wrongWord "is mispelled."
read -p "Press ""Enter"" to keep this spelling, or type a correction here: " newWord
if [ "$newWord" = "" ]
then
echo "$newWord" >> ~/.memory
fi
done
printf "%-20s %-20s \n Mispelled: Corrections:"
printf "\n $wrongWord $newWord"
Заменить 'if [" $ newWord "=" "]' с 'if [" $ newWord "=" "]' (дополнительные пробелы). –
Не понимал, что на самом деле там было место. У меня все еще есть проблемы с фактическим отображением их и запоминанием слов. – kenny10009
научиться пользоваться http://shellcheck.net. Удачи. – shellter