O caminho certo para comparar essas duas strings ( S1
e S2
) usando if
é:
if [ "$S1" = "$S2" ]
Não seja mesquinho em espaços de uso, neste caso.
Veja: link
Eu gostaria de criar um script que exclua um diretório com rmdir
após confirmar com uma senha usando read
para definir a variável.
Até agora eu tenho isso:
#!/bin/bash -x
echo "Password:"
read -t 30 S1
S2='55555'
if [ $S1=$S2 ]; then
rmdir /home/william/test
else
echo "fail"
sleep 10
fi
Portanto, eu tenho o -x
para tentar depurá-lo, mas toda vez que o script não faz eco (se eu colocar a senha errada) ou não removerá o diretório necessário.
Se alguém tiver um script modificável que eu possa usar ou se você puder apontar os problemas com o script atual, isso seria ótimo.
O caminho certo para comparar essas duas strings ( S1
e S2
) usando if
é:
if [ "$S1" = "$S2" ]
Não seja mesquinho em espaços de uso, neste caso.
Veja: link
No bash scripting você precisa comparar duas variáveis com o método abaixo.
if [ "var1" != "var2" ]; then
Do something
fi;
Espaços são importantes
Você também pode usar o GNU test
, por exemplo:
test s1 = s2 && echo Equal || echo Not equal
No seu contexto, é:
test "$S1" = "$S2" && rmdir -v /home/william/test