forum.wfido.ru  

Вернуться   forum.wfido.ru > Прочие эхи > RU.LINUX.CHAINIK

Ответ
 
Опции темы Опции просмотра
  #1  
Старый 27.11.2020, 11:16
Lev Zagatov
Guest
 
Сообщений: n/a
По умолчанию почему не работает shell скрипт?

Lev Zagatov написал(а) к All в Nov 20 20:25:25 по местному времени:

Зд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=$(tput lines || 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ностью, Лев Загатов

--- wfido
Ответить с цитированием
  #2  
Старый 27.11.2020, 11:16
Lev Zagatov
Guest
 
Сообщений: n/a
По умолчанию почему не работает shell скрипт?

Lev Zagatov написал(а) к All в Nov 20 20:25:26 по местному времени:

Зд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=$(tput lines || 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ностью, Лев Загатов

--- wfido
Ответить с цитированием
  #3  
Старый 27.11.2020, 11:16
Lev Zagatov
Guest
 
Сообщений: n/a
По умолчанию почему не работает shell скрипт?

Lev Zagatov написал(а) к All в Nov 20 20:25:27 по местному времени:

Зд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=$(tput lines || 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ностью, Лев Загатов

--- wfido
Ответить с цитированием
  #4  
Старый 27.11.2020, 12:16
Sergey Anohin
Guest
 
Сообщений: n/a
По умолчанию почему не работает shell скрипт?

Sergey Anohin написал(а) к Lev Zagatov в Nov 20 10:55:41 по местному времени:

Нello, Lev!

LZ> Здpавствуйте, написал shell-скpипт. Он не pаботает.
LZ> Что может не нpавиться dash?
LZ> ========
LZ> #!/bin/sh
LZ> # cls -- simple shell-script to clear screen with back-clear
LZ> # author: Lev Zagatov; requires: ncurses, coreutils;
LZ> if [ "$1" == 'back' ]; then
LZ> if [ "$2" ]; then
LZ> CountOfLines=$2;
LZ> else
LZ> CountOfLines=$(tput lines || stty size | sed 's/ [0-9]*$//g');
LZ> fi;
LZ> for i in $(seq 1 $CountOfLines); do
LZ> echo;
LZ> done;
LZ> else
LZ> if [ $(command -v clear) ]; then
LZ> clear;
LZ> elif [ ! $(command -v clear) && $(command -v tput) ]; then
LZ> tput clear;
LZ> else
LZ> echo 'WARNING: It seems like there is no `clear` or `tput` installed.';
LZ> echo 'Do you want to do back-clear instead? (Ret -- yes, Ctrl-c -- no)';
LZ> read a;
LZ> for i in $(seq 1 $(stty size | sed 's/ [0-9]*$//g')); do
LZ> echo;
LZ> done;
LZ> fi;
LZ> fi;
LZ> ========
LZ> Выхлоп:
LZ> ========
LZ> /usr/local/bin/cls: 5: [: unexpected operator
LZ> ========

В интернетах пишут:
There is no mistake in your bash script. But you are executing it with sh which has a less extensive syntax ;)
So, run bash ./choose.sh instead :)

Ну или типа шебанг поменять?

С наилучшими пожеланиями, Sergey Anohin.

--- wfido
Ответить с цитированием
  #5  
Старый 27.11.2020, 14:27
Zhenja Kaliuta
Guest
 
Сообщений: n/a
По умолчанию Re: почему не работает shell скрипт?

Zhenja Kaliuta написал(а) к Sergey Anohin в Nov 20 11:55:29 по местному времени:

Нi, Sergey!

On Fri, 27 Nov 2020 10:55:41 +0200 Sergey Anohin writes:

LZ>> #!/bin/sh
LZ>> # cls -- simple shell-script to clear screen with back-clear
LZ>> # author: Lev Zagatov; requires: ncurses, coreutils;
LZ>> if [ "$1" == 'back' ]; then

[...]

LZ>> ========
LZ>> Выхлоп:
LZ>> ========
LZ>> /usr/local/bin/cls: 5: [: unexpected operator
LZ>> ========

SA> В интернетах пишут:
SA> There is no mistake in your bash script. But you are executing it with sh which has a less extensive syntax ;)
SA> So, run bash ./choose.sh instead :)

SA> Ну или типа шебанг поменять?

вместо замены одного == ? У вас нет других интернетов?



--- Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)
Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 07:58. Часовой пояс GMT +4.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot