Estou tentando adicionar 1 número da linha de comando e um número como padrão. Por exemplo: Quando o usuário digitar o número 50, o script adicionará 10 (como o número padrão).
./script 50
The sum of 50+ 10 is 60.
É isso que eu tenho até agora.
echo -n "Please enter a number: "
read number
default = 10
sum = $((default + number)) // this line does not seem to work
echo "The sum of $number and 10 is $sum."
Tenho a sintaxe errada? Não tenho certeza se estou no caminho certo. Estou adicionando os números incorretos? Devo usar o awk?
let sum = $default + $number
echo
ing e, em seguida, o uso deread
diretamente, você pode digitar:read -p 'Please enter a number: ' yournumber
Respostas:
Os espaços estão causando os erros.
Se você deseja que o usuário insira o número quando for solicitado como "Digite um número:", poderá usar seu script com algumas correções como:
Verifica:
Se você deseja que o usuário insira o número como argumento no script, use o script abaixo:
Verifica:
fonte
Você não deve ter espaços entre "default = 10" e "sum = $", também o default & number deve ter $ antes deles para ler as variáveis.
O script então funciona como esperado para mim, quando escrito como abaixo;
fonte
$
expressão aritmética interna. Por exemplo, tente o seguinte:num=5;def=10;echo "sum = $((num + def))"
Esta é a maneira mais rápida de fazer o que você está perguntando:
Resultado:
fonte
./script.sh '((PATH=0)+(ANY_OTHER_VARNAME=[ANY INTEGER]))'