Справка, на если еще в оболочке

Помогите мне пишущий использование программирования оболочки if else, все использование кода possibile [[ ]], [ ], (( )).
Я попробовал, но это не работает (можно проверить моих предыдущих бинарных операторов Арифметики вопроса-gt, - Это дает ошибку, но работу в сценарии оболочки).

Вот версия C:

int i = 10, n = 20;

if (i < n)
    printf("i smaller");
else if (i > n)
    printf("n smaller");
else
    printf("same");
5
задан 13 April 2017 в 05:23

2 ответа

Что относительно

#!/bin/sh

i=1
n=2

if [ "$i" -gt "$n" ]; then 
    echo "i is bigger" 
elif [ "$n" -gt "$i" ]; then 
    echo "n is bigger" 
else 
    echo "same" 
fi

второй...

#!/bin/bash

i=1
n=2

if ((i > n)) ; then 
    echo "i is bigger" 
elif ((i < n)); then
    echo "n is bigger"
else
    echo "same"
fi

и продержитесь тот...

#!/bin/bash

i=1
n=2

if [[ $i -gt $n ]]; then 
    echo "i is bigger"
elif [[ $i -lt $n ]];  then
    echo "n is bigger"
else
    echo "same"
fi
10
ответ дан 23 November 2019 в 08:50

У меня есть следующий сценарий, чтобы удостовериться, что некоторые сервисы не ложатся спать. Это также каждый день делает резервное копирование mysql, проверки на сервисы онлайн и если не они повышаются снова и т.д. Не моя лучшая работа, но дает Вам общее представление относительно того, как использовать, ЕСЛИ и то же ЕЩЕ идет для ЕСЛИ:

#!/bin/bash
function checker() {
    PID1=$(pidof authserver)
    PID2=$(pidof worldserver)
    PID3=$(date +%k%M)
    PID4=$(date +%d_%m_%y)
    Destiny=/root/bck
    if [ -z "$PID1" ]; then
    echo 3 > /proc/sys/vm/drop_caches
            screen -A -m -d -S auth ./bin/authserver
    fi

    if [ -z "$PID2" ]; then
    echo 3 > /proc/sys/vm/drop_caches
            screen -A -m -d -t titan -S world ./bin/worldserver
    fi

    if [ "$PID3" -eq 230 ]; then
            screen -S world -p titan -X stuff $'anno SERVIDOR CERRADO DENTRO DE 10 MINUTOS POR UNA DURACION DE 30 SEGUNDOS PARA OPTIMIZACIONES\n'
            sleep 300
            screen -S world -p titan -X stuff $'anno SERVIDOR CERRADO DENTRO DE 5 MINUTOS POR UNA DURACION DE 30 SEGUNDOS PARA OPTIMIZACIONES\n'
            sleep 180
            screen -S world -p titan -X stuff $'anno SERVIDOR CERRADO DENTRO DE 2 MINUTOS POR UNA DURACION DE 30 SEGUNDOS PARA OPTIMIZACIONES\n'
            screen -S world -p titan -X stuff $'ser shut 120\n'
            sleep 120
            /etc/init.d/apache restart
            sleep 5
            mysqldump -uroot -px chart > $Destiny/c$PID4.sql
            mysqldump -uroot -px auth > $Destiny/a$PID4.sql
    /etc/init.d/mysql restart
            sleep 5
            killall -9 worldserver
    killall -9 authserver
    echo 3 > /proc/sys/vm/drop_caches
fi
    return 1
}
while :
do
checker
sleep 5
done

Как я сказал, не лучшее, но сделал задание.

1
ответ дан 23 November 2019 в 08:50

Другие вопросы по тегам:

Похожие вопросы: