Захват Выход из Java

Другое возможное решение:

#!/bin/bash

        max=100 rng=20   ### Problem conditions

texta="The sum of the %.3sst %d elements is: %d\n"      ### Output
textb="The first sum is %ser than the last sum\n"       ### Output

unset   num                                             ### used vars
for     (( s1=s2=c=0 ;  c<max ; c++ ))
do      num[c]=$RANDOM
        (( c<rng      )) && (( s1+=num[c] ))            ### first sum.
        (( c>=max-rng )) && (( s2+=num[c] ))            ### last sum.
done

    compare=small; (( s1 > s2 )) && compare=bigg

    printf "$texta" "first" "$rng" "$s1"
    printf "$texta" " last" "$rng" "$s2"
    printf "$textb" "$compare"

The sum of the first 20 elements is: 348899
The sum of the  last 20 elements is: 336364
The first sum is bigger than the last sum
0
16.08.2018, 09:25
1 ответ

Одна из проблем заключается в том, что '$1'не расширяет переменную. Вы действительно намерены передать буквальный знак доллара? Если нет, вы должны написать "$1"в двойных кавычках.

Это подтверждается вашим вторым примером, где вы передаете фактические значения, и это работает.

0
28.01.2020, 04:13

Теги

Похожие вопросы