t3g1ng
@t3g1ng

Почему не работает код?

Добрый день, написал авто-установщик с проверкой версии дистрибутива. Но он, почему-то, отказывается работать. В чём проблема?
Код ошибки:
5c1d3c4899811089463679.png
Код авто-установщика:
#!/bin/bash
#Тут мой копирайт

clear

osDebian="no"

d=$(dirname $0)

MIRROR="Тут мой репозитория"

##
## Debian
##
if [ -f "/etc/debian_version" ]; then
    ver=`cat /etc/issue.net | awk '{print $1$3}'`
    echo "Detected OS Version: "$ver

# Debian 7
if [[ $ver == "Debian7" ]]; then
    osDebian="yes"
    apt-get install -y --force-yes wget &>/dev/null
    echo -en "Download install script... "
	rm -f ${d}/deb7.install.sh &>/dev/null
    wget -t 2 $MIRROR/deb7.install.sh  &>/dev/null
	if [ $? -eq 0 ]; then
		result=0
		echo -en "\033[1;32m [OK] \033[0m"
		tput sgr0
	else
		result=1
		echo -e "\033[1;31m [ERROR] \033[0m"
		tput sgr0
		exit
	fi
. ${d}/deb7.install.sh
exit 0
fi

# Debian 8
if [[ $ver == "Debian8" ]]; then
    osDebian="yes"
    apt-get install -y --force-yes wget &>/dev/null
    echo -en "Download install script... "
	rm -f ${d}/deb8.install.sh &>/dev/null
    wget -t 2 $MIRROR/deb8.install.sh  &>/dev/null
	if [ $? -eq 0 ]; then
		result=0
		echo -en "\033[1;32m [OK] \033[0m"
		tput sgr0
	else
		result=1
		echo -e "\033[1;31m [ERROR] \033[0m"
		tput sgr0
		exit
	fi
. ${d}/deb8.install.sh
exit 0
fi

fi

echo "\033[1;31mSystem not found!!!\033[0m"
tput sgr0
exit 0
  • Вопрос задан
  • 119 просмотров
Решения вопроса 1
@none7
sh это не bash! if [ $ver = "Debian7" ];
Такую ошибку выплёвывает sh или возможно bash старой версии.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@aol-nnov
[ $

тут может случайно оказаться не пробел, а какой-то мусор, например. надо это уточнить

еще если переменная, вдруг, не определена окажется, то лучше if [[ "x$var" == "xvalue" ]]

https://www.tldp.org/LDP/abs/html/
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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