Мне поручено написать сценарий оболочки, который берет строку из 6 букв и цифр и проверяет, соответствуют ли они определенным критериям.Как использовать содержимое текстового файла в качестве входа в сценарий оболочки?
Это тот сценарий
FILE=$1
var=${#FILE}
if [ $var -gt 6 ] || [ $var -lt 6 ]
then
#echo $FILE "is not a valid NSID"
exit 1
else if (echo $1 | egrep -q '^[A-Za-z]{3}\d{3}$')
then
#echo $1 "is a valid NSID"
exit 0
else
#echo $1 "is not a valid NSID"
exit 1
fi
fi
Он работает. так что это не проблема.
То, что я пытаюсь сделать, это использовать сценарий «обертка» для сбора потенциальных действительных NSID из текстового файла и вызова этого сценария в списке входов. так что, если я вызову этот скрипт в моем сценарии оболочки, он перейдет через текстовый файл, который я дал моей оболочке, и проверьте, действительно ли каждая строка.
FILE=$1
YES= more $FILE
if (exec /path/to/file/is_nsid.sh $YES -eq 0)
then
echo $FILE "is a valid NSID"
else
echo $FILE "is not a valid NSID"
fi
так, если бы я назвал его с текстовым файлом под названием file1.txt, который содержал
yes123
yess12
ye1243
он будет выводить каждый из них был ли действительным или нет.
Это имеет большой смысл, спасибо за нарушение этого! но используя этот цикл while создает бесконечный цикл, вызывая первую строку в .txt снова и снова. Любая идея почему? – Tremors
@tremors: извините; неправильное перенаправление. Должно быть исправлено сейчас. – rici