La aritmética de shell se limita a la representación interna de enteros.
La aritmética de Bash en computadoras de 64 bits debe ser menor que:
$ echo "$((2**63-1))"
9223372036854775807
Usando el siguiente re -escriba su secuencia de comandos para usar bc
y obtenga el valor correcto (eliminando el carácter d
que parece un error en su pregunta):
#!/bin/bash
myf="outfile.txt"
sed 's/[^0-9 ]*//g' "$1" | tr " " "\n" | sed '/^\s*$/d' > "$myf"
sum=$(bc <<< "$(cat "$myf"| tr -s ' \n' '++')0")
ilo=$(bc <<< "$(cat "$myf"| tr -s ' \n' '**')1")
[[ $2 =~ s ]] && echo "SUMA= $sum"
[[ $2 =~ i ]] && echo "ILOCZYN= $ilo"
Obtenemos:
$./skrypt12.sh logfile.txt -si
SUMA= 241
ILOCZYN= 15558672678912000000
Como puede ver, el resultado de la multiplicación es más grande de lo que bash podría manejar.
Звук в Linux осуществляется через alsa (или импульсный звук); однако по умолчанию OpenSuSE использует alsa.
К счастью, вы можете установить значения по умолчанию как обычный пользователь с помощью alsamixer
. Просто запустите его, выберите, какой канал вы хотите использовать в качестве ведущего, и выйдите.
Вы сможете слышать звук через канал по умолчанию (вам может потребоваться перезапустить alsa с помощью systemctl restart alsa-restore
).
Когда вы перезагружаетесь, ваши настройки все еще должны быть там.