Вы можете установить «уродливый» плагин GStreamer из Software Center или выполнить следующую команду:
sudo apt-get install gstreamer0.10-plugins-ugly
[~]$ a=1;b=2
[~]$ expr $a+$b
1+2
[~]$ expr $a + $b
3
[~]$ expr $a * $b
expr: syntax error
[~]$ expr $a \* $b
2
На странице man:
ARG1 + ARG2
arithmetic sum of ARG1 and ARG2
Как видим, вам нужно пространство между аргументами и оператором. Кроме того, вам нужно избежать операторов, которые могут быть интерпретированы как шарики в bash:
Beware that many operators need to be escaped or quoted for shells.
[~]$ a=1;b=2
[~]$ expr $a+$b
1+2
[~]$ expr $a + $b
3
[~]$ expr $a * $b
expr: syntax error
[~]$ expr $a \* $b
2
На странице man:
ARG1 + ARG2
arithmetic sum of ARG1 and ARG2
Как видим, вам нужно пространство между аргументами и оператором. Кроме того, вам нужно избежать операторов, которые могут быть интерпретированы как шарики в bash:
Beware that many operators need to be escaped or quoted for shells.
[~]$ a=1;b=2
[~]$ expr $a+$b
1+2
[~]$ expr $a + $b
3
[~]$ expr $a * $b
expr: syntax error
[~]$ expr $a \* $b
2
На странице man:
ARG1 + ARG2
arithmetic sum of ARG1 and ARG2
Как видим, вам нужно пространство между аргументами и оператором. Кроме того, вам нужно избежать операторов, которые могут быть интерпретированы как шарики в bash:
Beware that many operators need to be escaped or quoted for shells.
bash имеет встроенные арифметические операторы, поэтому вам не нужно вызывать expr:
res=$(( $1 + $2 ))
bash https://www.gnu.org /software/bash/manual/bashref.html#Shell-Arithmetic
Ваша вторая версия должна быть такой:
#!/usr/bin/env bash
res=$(expr "$1" + "$2")
echo "$res"
И ваша первая версия должна быть:
#!/usr/bin/env bash
res=`expr "$1" + "$2"`
echo "$res"
Обратите внимание на пробелы между оператором +. И, наконец, используя более современный синтаксис:
#!/usr/bin/env bash
res=$(( $1 + $2 ))
echo "$res"
Обратите внимание, что последняя версия является предпочтительным способом.
Ваша вторая версия должна быть такой:
#!/usr/bin/env bash
res=$(expr "$1" + "$2")
echo "$res"
И ваша первая версия должна быть:
#!/usr/bin/env bash
res=`expr "$1" + "$2"`
echo "$res"
Обратите внимание на пробелы между оператором +. И, наконец, используя более современный синтаксис:
#!/usr/bin/env bash
res=$(( $1 + $2 ))
echo "$res"
Обратите внимание, что последняя версия является предпочтительным способом.
bash имеет встроенные арифметические операторы, поэтому вам не нужно вызывать expr:
res=$(( $1 + $2 ))
bash https://www.gnu.org /software/bash/manual/bashref.html#Shell-Arithmetic
Ваша вторая версия должна быть такой:
#!/usr/bin/env bash
res=$(expr "$1" + "$2")
echo "$res"
И ваша первая версия должна быть:
#!/usr/bin/env bash
res=`expr "$1" + "$2"`
echo "$res"
Обратите внимание на пробелы между оператором +. И, наконец, используя более современный синтаксис:
#!/usr/bin/env bash
res=$(( $1 + $2 ))
echo "$res"
Обратите внимание, что последняя версия является предпочтительным способом.
bash имеет встроенные арифметические операторы, поэтому вам не нужно вызывать expr:
res=$(( $1 + $2 ))
bash https://www.gnu.org /software/bash/manual/bashref.html#Shell-Arithmetic