Почему мой сценарий монтирования не работает?

#!/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

1
задан 4 December 2015 в 00:35

1 ответ

Эта строка была вашей основной проблемой:

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 для примеры.

3
ответ дан 23 May 2018 в 15:18

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

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