Основная структура условий следующая:
if [ condition ]; then
dosomething
fi
С else:
if [ condition ]; then
dosomething
elif [ condition ]; then
dootherthing
else
thelastchancetodosomething
fi
Кроме того, я думаю, что это условие в вашем коде неверно:
if [ $package == *".tar.gz" ]; then
tar -zxvf folder.tar.gz
fi
Если я правильно понимаю, это должно быть что-то вроде:
if echo $package | grep -qF ".tar.gz"; then
tar -zxvf $package
fi
О, и используйте #
для комментариев вместо //
.
Исправление вашего примера и улучшение отступа, чтобы сделать его более четким:
if [ choice = "1" ]; then
if echo $package | grep -qF ".tar.gz"; then
tar -zxvf $package
# You need to close previous `if` with a `fi` you want to use another
# `if` here below, but we can use `elif`, so we don't need to close it.
elif echo $package | grep -qF ".tar.bz2"; then
tar -xvfj $package
fi
cd ${package%.*.*} # this removes the .tar.* extension
./configure
make
make install
elif [ choice = "2" ]; then
dpkg -i $package
fi
У меня та же проблема, но то, что обычно работает для меня:
sudo alsa force-reload
sudo killall pulseaudio
Затем нажмите клавишу громкости, чтобы отключить звук (так как он обычно отключается после этого) и попробуйте перезапустить программы, воспроизводящие медиа - это должно сработать.
Обратите внимание, что вам придется делать это при каждой перезагрузке. Возможно, вы можете добавить это в cron
?
Если это не поможет, я не могу предложить другого решения, и переустановка может быть единственным вариантом.
Я не знаю, почему это происходит. Я думаю, что это довольно старая ошибка, которая просто застряла на моем рабочем столе Ubuntu, после всех обновлений...
Это тоже случилось со мной некоторое время назад. Попробуйте установить импульсный регулятор громкости звука:
sudo apt-get install pavucontrol
Вы можете запустить его с помощью:
pavucontrol
с терминала.
После запуска включите звук на вашем устройстве (ах). Это решило мою проблему, надеюсь, это сработает и для вас!