LINUX.ORG.RU

Ответ на: комментарий от Bfgeshka

./script: строка 2: val: команда не найдена я понимаю, что вопрос смешон для тех кто шарит) но я чет ума не приложу в чем дело

xperious ★★
() автор топика
Ответ на: комментарий от Bfgeshka
val = $(ls /bin|grep b|wc -l)

ничего не меняется... притом что так работает

if [[ $(ls /bin | grep b | wc -l) -ne 0 ]]
then
        ls /bin | grep b | wc -l
else
        echo "no"
fi

ааа... понял, спс

xperious ★★
() автор топика
Последнее исправление: xperious (всего исправлений: 1)
Ответ на: комментарий от Bfgeshka

да, допер, спасибо... я конечно понимаю, что мой вопрос можно скринить для потомков как апогей никчемности, но тем не менее)

xperious ★★
() автор топика
Ответ на: комментарий от xperious

Никчёмность это при такой убогости шелла использовать его в 2017 для чего-то кроме легаси.

anonymous
()
Ответ на: комментарий от xperious

хм, ваш скрипт выводит 10, а мой 9

Mea culpa — в вывод find попадает и сам /bin. Должно быть find /bin/ -mindepth 1 -name '*b*'.

dexpl ★★★★★
()
Ответ на: комментарий от anonymous

Ну так и иди в гугл, какого лешего ты тут нагадил?

false ★★★★★
()

в pep8 assignment variables.
в баше оно не работает. вокруг знака = не надо пробелов вообще.

bl ★★★
()

wc возвращает число оттабулированное (колоночное форматирование т/к/ на выход может поступать несколько чмсел в ряд через табуляцию) потому переменную надо чистить от проьбелов через

|tr -d [:space:]

например, и еще пробелы смежду " = " придется убрать

➜ $ value=$(ls /bin|grep b|wc -l|tr -d "[:space:]")
➜ $ echo $value
1
➜ $ if [[ $val -ne 0 ]]
if> then
then> echo "ne 0"
then> else
else> echo "= 0"
else> fi

ne 0
anonymous
()
Ответ на: комментарий от anonymous

сразу второй тест-кейс провел чтоб убедиться

➜ $ value=$(ls /bin|grep [strong]fck[/strong]|wc -l|tr -d "[:space:]")
➜ $ if [[ $value -ne 0 ]]                            
then
echo "ne 0"
else
echo "= 0"
fi
= 0
anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.