- shell программирование, Brainbug, 14:09 , 19-Фев-04 (1)
>здравтствуйте. > >обясните плиз почему данный скрипт под linux'ом работает, а под freebsd нет. >затык идет на стадии обявления массива... > >#!/bin/sh > >area2=( var1 var2) > >for i in "${area2[@]}" >do > echo "$i" >done area2="var1 var2" for i in ${area2} do echo $i done
- shell программирование, Nickolay, 14:14 , 19-Фев-04 (2)
спасибо большое. где можно почитать про програмирование массивов в shell'е и про отличия bsd и linux sh'ла?
- shell программирование, Brainbug, 14:26 , 19-Фев-04 (3)
>спасибо большое. >где можно почитать про програмирование массивов в shell'е >и про отличия bsd и linux sh'ла? V linux v bol6instve slu4ajev ispolzujetca bash. V *BSD obi4no sh. A voob6e est Advanced Bash Scripting Guide esli ne o6ibajus. No tam imenno pro bash. - shell программирование, Amy, 15:45 , 19-Фев-04 (4)
>спасибо большое. >где можно почитать про програмирование массивов в shell'е >и про отличия bsd и linux sh'ла? Во фре sh - настоящий POSIX- и Korn- совместимый шелл, содержится там специально для скриптов, а в линуксе - это линк на тот же bash. FreeBSD: man sh man builtins <-- man builtins нужен именно FreeBSD-шный, а не линуксовый, там только про баш. Если под рукой нет фри, то маны можно найти на http://www.freebsd.org
- shell программирование, vt, 15:58 , 19-Фев-04 (5)
>Во фре sh - настоящий POSIX- и Korn- совместимый шелл, содержится там >специально для скриптов, а в линуксе - это линк на тот >же bash.$man bash ... If bash is invoked with the name sh, it tries to mimic the startup behavior of historical versions of sh as closely as possible, while conforming to the POSIX standard as well. ...
- shell программирование, Amy, 16:11 , 19-Фев-04 (6)
>>Во фре sh - настоящий POSIX- и Korn- совместимый шелл, содержится там >>специально для скриптов, а в линуксе - это линк на тот >>же bash. > >$man bash >... >If bash is invoked with the name sh, it tries to mimic >the >startup behavior of historical versions of sh as closely >as possible, while conforming to the POSIX standard >as >well. >... Как видим, ничего не происходит автоматически. Чтобы писать переносимые скрипты, кроме названия оболочки надо ещё и избегать башизмов, т.е. специфических расширений баша, которые не совместимы ни с чем, кроме самого баша.
- shell программирование, lavr, 16:18 , 19-Фев-04 (7)
>здравтствуйте. > >обясните плиз почему данный скрипт под linux'ом работает, а под freebsd нет. >затык идет на стадии обявления массива... > >#!/bin/sh > >area2=( var1 var2) > >for i in "${area2[@]}" >do > echo "$i" >done В какой-то OS врут выдавая Bash за Bourne-shell, предполагаю что это Linux ;)
|