Como definir uma variável

1

Eu tenho este código:

if  [ -f "/mnt/usb/test/linuxConfig.json" ]
   then
   echo "usb på plats"

O que eu quero é quando o arquivo for encontrado (também conhecido como o usb é montado) para definir uma variável como verdadeira.

Eu quero escrever um script que verifique se o usb está montado e no caso de não tentar montá-lo e se ele não conseguir reiniciar o pi.

Eu preciso que a variável seja verdadeira ou falsa, já que eu quero usar um comando sleep também.

    
por hibridpc 02.10.2017 / 15:05

2 respostas

2

Eu não vejo realmente onde você deseja usar essa variável, pois você poderia fazer tudo o que poderia fazer na correta if - then - else branch:

if [ -f "my/file" ]; then
    echo 'Filen finns tillgänglig / the file is available'
else
    echo 'Filen är inte där / the file is not there'
    mount /mnt/something || { sleep 120; reboot; }
    # or  ... || shutdown -r +2 'Rebooting due to failed mount'
fi

Para usar uma variável "booleana":

found=0
[ -f "my/file" ] || found=1

if (( !found )); then
    # file was not found
else
    # file was found
fi
    
por 02.10.2017 / 16:03
1

Você pode usar qualquer valor não vazio como "true":

if [ -f /mnt/ust/test/linuxConfig.json ] ; then
    var=1
fi

if [ "$var" ] ; then
    echo Var is true
else
    echo Var is false
fi
    
por 02.10.2017 / 15:11