Решено: Простенький скрипт на баше. (Ошибка :()

Модератор: Модераторы разделов

Аватара пользователя
Yaros
Сообщения: 501
ОС: Debian Wheezy / Gentoo

Решено: Простенький скрипт на баше.

Сообщение Yaros »

Есть вот такой скрипт (пишется в учебных целях):

Код:

#!/bin/bash -x OPTIONS="Hello Quit" select opt in $OPTIONS; do if [ "$opt" = "Quit" ]; then echo done exit elif [ "$opt" = "Hello" ]; then echo Hello World! else clear echo bad option! fi done

При попытке запустить в терминале выдает следующее:

Код:

+ OPTIONS=$'\250Hello' + $'Quit\250' ./opti: line 2: Quit": command not found + select opt in '$OPTIONS'

Если убрать "-x" из первой строчки скрипта, выводит просто

Код:

./opti: line 2: Quit": command not found

Покурка мана, по которому разбирался с этим, не помогла :( В чем может быть трабла?
=========
=Мой блог. =
=========
Gentoo-ниасилятар
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4823
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: Решено: Простенький скрипт на баше.

Сообщение SLEDopit »

Код: Выделить всё

[02:16]deb:~/pr $ ./3.sh
1) Hello
2) Quit
#? 1
Hello World!
#? 2
done
[02:16]deb:~/pr $
просто #!/bin/bash (-х убрал, но с ним тож все работает)
хотя у вас судя по всему проблема в том, что пробел распознается как начало новой команды, раз он пытается выполнить команду Quit". может вам попробовать заменить " на ' ?
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
Аватара пользователя
Yaros
Сообщения: 501
ОС: Debian Wheezy / Gentoo

Re: Решено: Простенький скрипт на баше.

Сообщение Yaros »

Проверил на компьютере с Debian - все нормально работает (ошибка выдается на Eee PC). Странно, учитывая то, что версия везде одна и та же.
А замена кавычек не помогает...
=========
=Мой блог. =
=========
Gentoo-ниасилятар
Спасибо сказали:
Аватара пользователя
Yaros
Сообщения: 501
ОС: Debian Wheezy / Gentoo

Re: Решено: Простенький скрипт на баше.

Сообщение Yaros »

Разобрался.
Случайно повредил локаль на EeePC, в результате чего, несмотря на английскую раскладку клавиатуры, вставлялся символ на русском - примерно так. Хотя, может, и не совсем прав. Однако после замены на компьютере "русских" кавычек на английские кавычки на EeePC все заработало.
=========
=Мой блог. =
=========
Gentoo-ниасилятар
Спасибо сказали: