*, /, +, -, — в shell с умножением проблема
Здравствуйте, как мне исправить скриптик, чтоб он не выдавал мне этой ошибки при умножении??? в 13 строке "unexpected operator"
Если вводить "*" вот таким макаром, " 8 * 8 " или " 8 '*' 8 " то работает, но все равно выбрасывает ошибку, считает, но при этом говорит что в 13 строке "unexpected operator".
вот пример кода, я уже его по всякому переделывал,
/** * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann * (http://qbnz.com/highlighter/ and http://geshi.org/) */ .ruby.geshi_code {font-family:monospace;} .ruby.geshi_code .imp {font-weight: bold; color: red;} .ruby.geshi_code .kw1 {color:#9966CC; font-weight:bold;} .ruby.geshi_code .kw2 {color:#0000FF; font-weight:bold;} .ruby.geshi_code .kw3 {color:#CC0066; font-weight:bold;} .ruby.geshi_code .kw4 {color:#CC00FF; font-weight:bold;} .ruby.geshi_code .co1 {color:#008000; font-style:italic;} .ruby.geshi_code .coMULTI {color:#000080; font-style:italic;} .ruby.geshi_code .es0 {color:#000099;} .ruby.geshi_code .br0 {color:#006600; font-weight:bold;} .ruby.geshi_code .sy0 {color:#006600; font-weight:bold;} .ruby.geshi_code .st0 {color:#996600;} .ruby.geshi_code .nu0 {color:#006666;} .ruby.geshi_code .me1 {color:#9900CC;} .ruby.geshi_code .re0 {color:#ff6633; font-weight:bold;} .ruby.geshi_code .re1 {color:#0066ff; font-weight:bold;} .ruby.geshi_code .re2 {color:#6666ff; font-weight:bold;} .ruby.geshi_code .re3 {color:#ff3333; font-weight:bold;} .ruby.geshi_code span.xtra { display:block; }
#!/bin/sh
echo
tput sgr0
t=$2
echo "Parametr2 $2"
if [ $2 = / -a $3 -eq 0 ]; then
echo Division durch Null
elif [ $2 = + -o $2 = / -o $2 = - ]; then
echo "33[30m $1 $2 $3 33[32m= 33[33m `expr $1 $2 $3`"
else
echo "33[30m $1 $2 $3 33[32m= 33[33m `expr $1 * $3`"
fi
tput sgr0
echo
exit 0
Подскажите, я уже с этим столько времени убил... :(
Спасибо
Если вводить "*" вот таким макаром, " 8 * 8 " или " 8 '*' 8 " то работает, но все равно выбрасывает ошибку, считает, но при этом говорит что в 13 строке "unexpected operator".
вот пример кода, я уже его по всякому переделывал,
/** * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann * (http://qbnz.com/highlighter/ and http://geshi.org/) */ .ruby.geshi_code {font-family:monospace;} .ruby.geshi_code .imp {font-weight: bold; color: red;} .ruby.geshi_code .kw1 {color:#9966CC; font-weight:bold;} .ruby.geshi_code .kw2 {color:#0000FF; font-weight:bold;} .ruby.geshi_code .kw3 {color:#CC0066; font-weight:bold;} .ruby.geshi_code .kw4 {color:#CC00FF; font-weight:bold;} .ruby.geshi_code .co1 {color:#008000; font-style:italic;} .ruby.geshi_code .coMULTI {color:#000080; font-style:italic;} .ruby.geshi_code .es0 {color:#000099;} .ruby.geshi_code .br0 {color:#006600; font-weight:bold;} .ruby.geshi_code .sy0 {color:#006600; font-weight:bold;} .ruby.geshi_code .st0 {color:#996600;} .ruby.geshi_code .nu0 {color:#006666;} .ruby.geshi_code .me1 {color:#9900CC;} .ruby.geshi_code .re0 {color:#ff6633; font-weight:bold;} .ruby.geshi_code .re1 {color:#0066ff; font-weight:bold;} .ruby.geshi_code .re2 {color:#6666ff; font-weight:bold;} .ruby.geshi_code .re3 {color:#ff3333; font-weight:bold;} .ruby.geshi_code span.xtra { display:block; }
#!/bin/sh
echo
tput sgr0
t=$2
echo "Parametr2 $2"
if [ $2 = / -a $3 -eq 0 ]; then
echo Division durch Null
elif [ $2 = + -o $2 = / -o $2 = - ]; then
echo "33[30m $1 $2 $3 33[32m= 33[33m `expr $1 $2 $3`"
else
echo "33[30m $1 $2 $3 33[32m= 33[33m `expr $1 * $3`"
fi
tput sgr0
echo
exit 0
Подскажите, я уже с этим столько времени убил... :(
Спасибо
1 ответов
Не уверен, но напоминает вот это: Avoid expansion of * in bash builtin function let.