Выполнение команд на основе заданных выходных данных

#bash #sh

#bash #sh

Вопрос:

Я пытаюсь выполнить команду на основе выходных данных другого скрипта. Скажем:

 if [ -f /etc/debian_version]; then 
   DIST="Debian `cat /etc/debian_version`"
fi

OSDIST="$DIST"

# here comes the part where I'm confused

if [ $DIST = Debian 7.x (or if we're being specific here, say 7.9 for example) ]; then 
   execute_some_command
elif [ $DIST = Debian 8.x (or if we're being specific here, say 8.1 for example) ]; then 
    execute_some_other_command
fi
  

Как закодировать что-то подобное в sh? Я не совсем уверен, какой параметр или параметр использовать для этого. Спасибо!

Комментарии:

1. Один из вариантов case "$DIST" in (Debian 7.*) : Do 7.x stuff;; (Debian 8.*) : Do 8.x stuff;; (*) : Which version;; esac .

Ответ №1:

вы также можете попробовать что-то вроде этого;

 case `cat /etc/debian_version` in

7.7*) echo "VERSION=7.7";
    execute_some_command; 
    ;;

7*) echo "VERSION=7";
    execute_some_command; 
    ;;

8*) echo "VERSION=8";
    execute_some_command; 
   ;;

*) echo "VERSION=NONE";
   execute_some_command; 
   ;;

esac