У меня есть концепция bash, теперь я нашел сайт, полный загадок для практики bash. Я решаю несколько сценариев (вы должны отметить, что они делают то, что они пропали без вести или так, в зависимости от вопроса), и я наткнулся этот скрипт:Сценарии в sed - linux
random_var="$(echo $1 | sed -e 's/[^[:alnum:]]//g')"
Поправьте меня, если я ошибаюсь, о мой основной предположения о следующем коде:
- $ 1 являются вторым аргументом, что получил сценарий (когда первое это имя сценария)
- Существует трубопровод между вторым аргументом и
sed
скриптом, который удаляет все альфа-числовой и ... согласно тому, что я понимаю, этот сценарий может быть «сломан» с помощью разделителя например[/\]^$
и так?
Теперь возникает сложность (ну, для меня), программа получает вход от пользователя, и, когда следующий сценарий, который я просто упоминаю, найден в функции, возвращающей значение true, если вход отличается от результат. Я понятия не имею, что здесь происходит, может кто-нибудь просветить меня?
#!/bin/sh
func()
{
somevar="$(echo $1 | sed -e 's/[^[:alnum:]]//g')"
if [ "$somevar" != "$input" ] ; then
return 1
else
return 0
fi
}
# Sample usage of this function in a script
echo -n "Enter input: "
read input
if ! func "$input" ; then
echo "HELL NO"
exit 1
else
echo "YES!"
fi
exit 0
'sed скрипт, который удаляет все альфа-числовые ошибки. Он удаляет все не буквенно-цифровые символы. –
Кажется, у вас есть идея, так как вы объяснили это правильно, за исключением неправильного толкования регулярного выражения, которое происходит, и @AvinashRaj исправил вас. Где вы запутались? Сейчас трудно ответить на ваш вопрос. – suiterdev