My mount рукописный шрифт isn't working, why?

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

its not even entering the first if statement

2
задан 3 December 2015 в 23:35

2 ответа

Существует несколько проблем. Один [ $? = 0 ] должен быть [ $? -eq 0 ] потому что $? число возвратов, но = сравнение для строк (текст). Во-вторых, использовать [ $word = "u" ] || [ $word = "U" ] или используйте [ $word = "u" -o $word = "U" ]. Читайте больше на этих опциях в man test

Однако я предложил бы простое решение: использовать udisksctl утилита вместо media. Это более просто и делает много материала автоматически для Вас. На самом деле это - бэкенд для файлового менеджера Ubuntu по умолчанию, Наутилуса.

Например, если я хотел смонтироваться /dev/sda5

  $ udisksctl mount -b /dev/sdb5                                                 
Mounted /dev/sdb5 at /media/xieerqi/0ca7543a-5463-4a07-8bbe-233a7b0bd625

Получите информацию, где смонтированный объем:

$ udisksctl info -b /dev/sdb5 | awk '/MountPoints/' 
MountPoints:        /media/xieerqi/0ca7543a-5463-4a07-8bbe-233a7b0bd625

И здесь размонтировался

    $ udisksctl unmount -b /dev/sdb5                                               
Unmounted /dev/sdb5.
2
ответ дан 2 December 2019 в 01:58

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

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

Посмотрите эту страницу операторов удара для примеров.

3
ответ дан 2 December 2019 в 01:58

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

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