Discussion:
почему не работает shell-скрипт?
(слишком старое сообщение для ответа)
Lev Zagatov
2020-11-26 17:13:52 UTC
Permalink
Здpавствуйте, написал shell-скpипт. Он не pаботает.
Что может не нpавиться dash?

========
#!/bin/sh
# cls -- simple shell-script to clear screen with back-clear
# author: Lev Zagatov; requires: ncurses, coreutils;

if [ "$1" == 'back' ]; then
if [ "$2" ]; then
CountOfLines=$2;
else
CountOfLines=$(stty size | sed 's/ [0-9]*$//g');
fi;

for i in $(seq 1 $CountOfLines); do
echo;
done;
else
if [ $(command -v clear) ]; then
clear;
elif [ ! $(command -v clear) && $(command -v tput) ]; then
tput clear;
else
echo 'WARNING: It seems like there is no `clear` or `tput` installed.';
echo 'Do you want to do back-clear instead? (Ret -- yes, Ctrl-c -- no)';
read a;
for i in $(seq 1 $(stty size | sed 's/ [0-9]*$//g')); do
echo;
done;
fi;
fi;
========

Выхлоп:

========
/usr/local/bin/cls: 5: [: unexpected operator
========

С благодаpностью, Лев Загатов
Alexey Vissarionov
2020-11-27 07:21:20 UTC
Permalink
Доброго времени суток, Lev!
26 Nov 2020 20:13:52, ты -> All:

LZ> Здpавствуйте, написал shell-скpипт. Он не pаботает.
LZ> Что может не нpавиться dash?

LZ> #!/bin/sh

LZ> /usr/local/bin/cls: 5: [: unexpected operator

Тот самый случай, когда вопрос содержит в себе ответ целиком...


--
Alexey V. Vissarionov aka Gremlin from Kremlin
gremlin ПРИ gremlin ТЧК ru; +vii-cmiii-ccxxix-lxxix-xlii

... Чужие темплейты читают только ламеры с IQ<64
Alexey Fayans
2020-11-27 10:55:44 UTC
Permalink
Hello Lev!

On Thu, 26 Nov 2020 at 20:13, you wrote to All:

LZ> #!/bin/sh
[...]
LZ> if [ "$1" == 'back' ]; then
[...]
LZ> /usr/local/bin/cls: 5: [: unexpected operator

В отличие от bash, у dash классический синтаксис, нужно использовать = вместо
==. В общем, man test.

Но вообще это какая-то сложная альтернатива системному clear и комбинации
Ctrl-L. Зачем изобретать велосипед?


... Music Station BBS | https://bbs.bsrealm.net | telnet://bbs.bsrealm.net
Loading...