URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 9874
[ Назад ]

Исходное сообщение
"Bad substitution"

Отправлено Jack , 27-Июн-14 13:11 
ос freebsd

a='123456789'
aa=${a:2:2}
echo "$aa"

выдает ошибку:

./1.sh: ${a:2...}: Bad substitution

а в линухах работает....
что может быть?


Содержание

Сообщения в этом обсуждении
"Bad substitution"
Отправлено pavel_simple , 27-Июн-14 13:15 
> а в линухах работает....
> что может быть?
> ос freebsd

"Bad substitution"
Отправлено Andrey Mitrofanov , 27-Июн-14 13:22 
> ./1.sh: ${a:2...}: Bad substitution

Написано же: этот  ваш "гордый" /bin/sh -- слабое подобие /bin/bash.

> а в линухах работает....
> что может быть?

Тебе ещё раз: у фрибсдешних собственная гордость.
Продолжение осмотра: man sh, man bash.


"Bad substitution"
Отправлено Jack , 27-Июн-14 14:24 
>> ./1.sh: ${a:2...}: Bad substitution
> Написано же: этот  ваш "гордый" /bin/sh -- слабое подобие /bin/bash.
>> а в линухах работает....
>> что может быть?
> Тебе ещё раз: у фрибсдешних собственная гордость.
> Продолжение осмотра: man sh, man bash.

боюсь даже задать вопрос
а как на этом голом шеле сделать тоже самое?

что то изучение:
http://www.opennet.me/docs/shell/shell.html
пока плодов не дало..



"Bad substitution"
Отправлено Andrey Mitrofanov , 27-Июн-14 16:19 
>>> ./1.sh: ${a:2...}: Bad substitution
>> Написано же: этот  ваш "гордый" /bin/sh -- слабое подобие /bin/bash.
>>> а в линухах работает....
>>> что может быть?
>> Тебе ещё раз: у фрибсдешних собственная гордость.
>> Продолжение осмотра: man sh, man bash.

http://www.opennet.me/man.shtml?topic=sh&category=1&russian=1
http://www.opennet.me/man.shtml?topic=sh&category=1&russian=5
   +
http://www.opennet.me/man.shtml?topic=bash&category=1&russian=2

Но это в интернетах: м.б. устаревшее от другой версии и пр., и пр.
Повторяю[, вызывать в ком.строке]:

$ man sh
$ man bash

> боюсь даже задать вопрос
> а как на этом голом шеле сделать тоже самое?

Либо гордо внешними программами (sed, awk и пр.; и у них _тоже есть обрезанные местечковые fbsd версии), либо _как _все [ждём опровержения от поборников позикс-"стиля"] писать на GNU bash-е:

#!/bin/bash

Однако на fbsd и это не как у всех и обложено граблями: может быть вовсе не установлен, либо в ше-банге нужно писать какой-то другой путь.

> пока плодов не дало..


"Bad substitution"
Отправлено pavlinux , 30-Июн-14 17:49 
> пока плодов не дало..

Давай задачу целиком.
А то, это даже на баше редкостная штука - от балды выбирать из строки произвольные символы.
У нас тут только Митрофаныч этим хардкором занимается http://www.opennet.me/openforum/vsluhforumID9/9656.html#51