оболочка - использование expr «таблица умножения»

Начиная с awesome версии 4.1 это Mod+Ctrl+M (вертикально) и Mod +Shift+M (по горизонтали) по умолчанию.

1
01.01.2017, 17:11
2 ответа

Немного упрощая решение, удалив ненужный тест:

#!/bin/bash

for (( i = 1; i < 10; ++i )); do
  for (( j = 1; j <= i; ++j )); do
    printf '%dx%d=%-2d  ' "$i" "$j" "$(( i * j ))"
  done
  printf '\n'
done
0
28.01.2020, 01:04

Да, вы можете использовать встроенное в bash арифметическое расширение $ (()) для выполнения простых вычислений.

Для умножения:

echo $(( 6 * 7 ))

Результат

42

И ваш сценарий будет выглядеть так:

#!/ in/bash

for i in 1 2 3 4 5 6 7 8 9

do

    for j in 1 2 3 4 5 6 7 8 9
    do
            if [ $j -le $i ]
            then
                    echo -ne "$i"X"$j"=$(($i * $j)) "\t"
            else
                    echo
                            break
            fi
            done
    done
echo -ne "\n"
0
28.01.2020, 01:04

Теги

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