Использование expr для удвоения одного целочисленного аргумента - PullRequest
0 голосов
/ 24 октября 2011

Примером будет

$ twice 15<br>
30<br>
$twice 0<br>
0<Br>
$

Я понимаю, что базовое значение expr это

expr arg1 * arg2

Что если я хочу указать arg1 как 2 и arg2 как угоднопользователь печатает.

Но я не могу заставить программу работать, всегда синтаксическая ошибка.Я использую редактор vi, чтобы создать новый файл и поместить код expr в файл, который называется (дважды).

Ответы [ 2 ]

3 голосов
/ 24 октября 2011

В оболочке вам нужно экранировать * -оператор:

expr 2 \* 15

в противном случае bash заменит его.

И в скрипте, который вызывается дважды .sh

#!/bin/bash
echo `expr 2 \* $1`

затем можно назвать так (после chmod 755 twise.sh)

./twice.sh 15

для распечатки 30.

0 голосов
/ 24 октября 2011

Попробуйте это:

expr "$1" "*" "2";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...