#!/bin/bash
mount | grep 'sda[1-5]'
if [ $? = 0 ]
then
echo -e "its already mounted ! type u to unmount :\c"
read word
if [ $word = "u" || $word = "U" ]
then
umount /home/shady/Desktop/mountpoint1
umount /home/shady/Desktop/mountpoint2
fi
fi
if [ $? = 1 ]
then
mount /dev/sda1 /home/shady/Desktop/mountpoint1
mount /dev/sda5 /home/shady/Desktop/mountpoint2
echo -e "all mounted !!"
fi
, что он даже не ввел первый оператор if
Эта строка была вашей основной проблемой:
if [ $word = "u" || $word = "U" ]
Я скорректировал условное выражение и прибрал структуру управления ниже:
#!/bin/bash
mount | grep 'sda[1-5]'
if [ $? -eq 0 ]
then
echo "Volumes are already mounted."
read -p "Please type 'u' to unmount:" word
if [ "$word" = "u" ] || [ "$word" = "U" ]
then
echo 'User wishes unmount. Attempt umount here.'
fi
else
echo 'Volumes unmounted. Attempt mount here.'
fi
См. эту страницу операторов bash для примеры.