Здравствуй Уважаемые! столкнулся со следующим глюком: num=`grep -o "превед" test | wc -w `; (( sum1 = num * 2 )); echo $sum1; выдает (******* sum1: not found ) если использую echo $[ num * 2 ]; вместо (( sum1 = num * 2 )); то выдает вообще бред ($[ num lab2.sh lab2_2 script2.sh script3.sh script4.sh test tr 2 ]) это список файлов лежащих в директории со скриптом, проверил на другом компе, все нормально работает ... ______________________________ что интересно сейчас проверил let "sum1=num*2" выдает что команды let не найдено, хотя просто в консоли свободно выполняется...( + whiсh let ничего не выдает...
не уважаемый, тут вы ошибаетесь, мой пример рабочий, но у меня видимо что то с машиной что он не работает ...
говорю проблемма не в коде .... (( sum1 = $num * 2 )); это исправление значения не играет, все равно выдает ошибку: "***.sh: 3: sum1: not found" тот же код работает на другой машине... altblitz ты попроще с выражениями
в начале скрипта пропиши Code: #!/bin/bash или запускай так: /bin/bash path/to/script у тебя скорей всего выполняется через /bin/sh а он многого не понимает (потому что скрипт для баша)
#! /bin/bash #grep -c превед test num=`grep -o "превед" test | wc -w `; echo $num; (( sum1 = num * 2 )); #echo $[ num * 2 ]; echo $sum1; вот весь код..., орет lab2.sh: 7: sum1: not found даже если оставить только #! /bin/bash (( sum1 = num * 2 )); все равно ругается...
попробуй скрипт передать параметром башу (запустить через баш). у меня если запускать через /bin/sh то те же ошибки выдаёт
Ос убунту? если да то терминалом в начале перейди в папку со скриптом и запусти, если поможет то надо с правами мучатся, на форуме убунту есть описание этой проблеммы.
да убунта, благодарю, все решилолс запуском не через sh lab2.sh, a chmod u+x ./lab2.sh ВСЕМ БОЛЬШОЕ СПАСИБО ! думаю тему можно закрывать