LinuxForum.Fans
Тема

Помогите разобраться с Солярисом!

Автор: pelejuy 13 сообщений 6088 просмотров
#142280

#/bin/bash
while :; do
echo -e '\a'
sleep 1
done

Почему не работает?
Каждую секунду выдает сообщение ~...команда не найдена

#142337

#/bin/bash
oO [console]whereis bash[/console]
#142340
pelejuy написал:
#/bin/bash
text

#!/bin/bash

Как минимум пропущен «!».

А команда работает?

text
 while :; do echo -e '\a'; sleep 1; done
#142402

Попробовал выполнить этот скрипт на соляре:
[console]bash-3.00$ sh adf
adf: !#/bin/bash: not found
-e \a
-e \a
-e \a
-e \a
-e \a
-e \a
-e \a
-e \a
-e \a
-e \a
[/console]

#142403

#!/bin/bash

#142406
SkaarjZR написал:
Попробовал выполнить этот скрипт на соляре:

Покажите полностью «этот» скрипт. И если можно, хотелось бы увидеть man echo, разумеется, в Solaris.

#142410

XliN написал:
#!/bin/bash
Не обязательно в солярке баш располагается именно по этому пути. Например в FreeBSD [console]whereis bash
bash: /usr/local/bin/bash /usr/local/man/man1/bash.1.gz /usr/ports/shells/bash
[/console]
#142412
Remedy написал:
Не обязательно в солярке баш располагается именно по этому пути.

Имелся ввиду не путь, важнее было указание использовать «!»

#142417

Не берусь утверждать на 100%, но, помнится мне, в команде echo в Solaris опция -e не используется.

#142418

в команде echo в Solaris опция -e не используется.

Совершенно верно.

#142441

Уточнил:
#!/bin/bash
while :; do
if [условие]; then
echo -e '\a'
sleep 1
done

Выдает сообщение, что команда не найдена в тот момент, когда выполняется условие (правильно), т.е. не найдена команда echo..., когда отдельно набираю в терминале echo -e '\a' писк срабатывает.

#142450
pelejuy написал:
if [условие]; then

А где «fi» в конце условного оператора?
Попробуйте написать полный путь к команде echo.

#142673

Заработало! Всем спасибо. Ошибка была в условном выражении!
Привожу код работающего сигнализатора.

#!/bin/bash
function zvonok() {
for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20; do
echo -en '\a'
done
}
while :; do
SEC = `date + %S`
MIN = `date + %M`
HOUR = `date + %H`
if [ "$MIN" -eq "00" ] && [ "$SEC" -eq "01" ] #условное выражение упростил
then
zvonok
fi
sleep 1
done

Может быть кто посоветует, как усовершенствовать звуковой сигнал.

Войдите или зарегистрируйтесь, чтобы ответить.