powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / длина строки в if
7 сообщений из 7, страница 1 из 1
длина строки в if
    #38513551
SVklim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем добрый вечер. подскажите, пож., таку вещь - нужно посчитать длину строки и вставить в условие.
read menu
yyyy=`echo $menu | awk -F" " '{print $1}'`
if [[ "${#yyyy}" != 6 ]] then
echo "length > 6"
fi
так работает, теперь пытаюсь сделать без использования переменой yyyy. Типа -

if [[ "${#$(echo $menu | awk -F" " '{print $1}')}" != 6 ]] then

не работает..
...
Рейтинг: 0 / 0
длина строки в if
    #38513563
landy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обратный аростроф

if [ `echo $menu | awk -F" " '{print $1}'` != 6 ] ; then
...
Рейтинг: 0 / 0
длина строки в if
    #38513567
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SVklimне работает..
рекомедую начать с того, что предлагает POSIX

if expr length x$menu != 7 >/dev/null; then

fi
...
Рейтинг: 0 / 0
длина строки в if
    #38514087
SVklim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
if expr length x$menu != 7 >/dev/null; then
bash: length: command not found

if [ `echo $menu | awk -F" " '{print $1}'` != 6 ] ; then - я сравниваю не строку, а длину строки. Вычисляется "${#строка}"

вопрос как в "${#строка}" вкрячить строка=echo $menu | awk -F" " '{print $1}
...
Рейтинг: 0 / 0
длина строки в if
    #38514945
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SVklim
Код: sql
1.
2.
3.
4.
5.
6.
if expr length x$menu != 7 >/dev/null; then 
bash: length: command not found

if [ `echo $menu | awk -F" " '{print $1}'` != 6 ] ; then - я сравниваю не строку, а длину строки. Вычисляется "${#строка}"

вопрос как в "${#строка}"  вкрячить строка=echo $menu | awk -F" " '{print $1}


Вы пытаетесь подставить значение вместо имени переменной

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
$ export menu='123456 12';[ `expr length $(echo x$menu|cut -f1 -d' ')` = 7 ];echo $?
0
$ export menu='123456 1';[ `expr length $(echo x$menu|cut -f1 -d' ')` = 7 ];echo $?
0
$ export menu='1234567 1';[ `expr length $(echo x$menu|cut -f1 -d' ')` = 7 ];echo $?
1
[vlejnin@rena ~]$ unset menu;[ `expr length $(echo x$menu|cut -f1 -d' ')` = 7 ];echo $?
1
[vlejnin@rena ~]$ unset menu;[ `expr length $(echo $menu|cut -f1 -d' ')` = 7 ];echo $?
expr: синтаксическая ошибка
bash: [: =: ожидается использование унарного оператора
2
...
Рейтинг: 0 / 0
длина строки в if
    #38515058
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vadim Lejnin,

да, я лажанулся, правильно так:

if expr length "x$menu" != 7 >/dev/null; then

fi
...
Рейтинг: 0 / 0
длина строки в if
    #38515062
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vadim Lejnin$ export menu='123456 12';[ `expr length $(echo >>>x<<<$menu|cut -f1 -d' ')` = 7 ];echo $?
0


menu="123456 12"; if expr "x$menu" : "^\S*" = 7 >/dev/null; then echo matches; fi
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / длина строки в if
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]