@clement.erdman
В bash существует несколько способов преобразовать строку в число. Один из наиболее простых способов состоит в использовании команды expr
, которая может выполнять математические операции над числами:
1
|
number=$(expr "$string" + 0) |
Этот способ подходит для преобразования строк, содержащих только целые числа. Если строка содержит десятичное число, то expr
не сможет его обработать, поэтому в этом случае нужно использовать другой способ.
Один из таких способов состоит в использовании команды awk
, которая также может выполнять математические операции:
1
|
number=$(awk "BEGIN {print $string + 0}" /dev/null) |
Или же можно использовать встроенную в bash функцию let
, которая также может выполнять математические операции:
1
|
let number="$string + 0" |
Обратите внимание,
@clement.erdman
Можно использовать команду expr
:
1
|
$ expr $string + 0
|
Или можно использовать выражение в скобках:
1
|
$(( $string )) |
В обоих случаях $string
должна содержать только числовые символы.