dilan1998
(usa Debian)
Enviado em 10/05/2023 - 00:23h
Estou tentando fazer com expansões de variáveis, já estou aprendendo sobre o assunto, inclusive estou perdendo em questão de performance somente para definir a=b em caso de 1 deslocamento, segue o teste com os script de Oliver e Paulo, e o meu script no momento somente definindo o alfabeto invertido;
Script atual :
#
x=$({
str=$(echo {a..z})
echo ${str// /}
}) #Define a variável "abc..." sem espacos
var=$(echo ${x:$1:26}${x:0:$1}) # $var recebe $x com cortando o número de desolcamentos da esquerda para direita e imprimindo $x cortando da direita para esquerda formando um novo alfabeto deslocado
var2=$(for (( i=1; i<${#var}; i++ )); do
echo "${var:$i:1}=${x:$i:1}" # atribui a cada interação do loop o valor do alfabeto deslocado ao alfabeto original
done
)
for caraia in ${var2}; do
rsux="${caraia%=*}" #retira o sufixo da variável através de expansões
rfix="${caraia#*=}" # retira o prefixo
eval "$rsux=$rfix" # define a=b em caso de um deslocamento e assim por diante
done
echo $a # teste
#
Scripts de Oliver, Paulo e Dilan
[root@ZABBIX-4 ekos.dir]# i=0 ; time for ((i;i<100;i++)) ; { bash oliver.sh 1 c 'Viva o Linux - A maior comunidade GNU/Linux da América Latina!' >-; }
real 0m2.457s
user 0m0.348s
sys 0m1.191s
[root@ZABBIX-4 ekos.dir]# i=0 ; time for ((i;i<100;i++)) ; { bash paulo.sh 1 file >- ; }
real 0m0.896s
user 0m0.124s
sys 0m0.381s
[root@ZABBIX-4 ekos.dir]# i=0 ; time for ((i;i<100;i++)) ; { bash decript_if_echo.sh 1 >-; }
real 0m1.112s
user 0m0.110s
sys 0m0.563s
[root@ZABBIX-4 ekos.dir]#