#!/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 문도 입력하지 않습니다.
몇 가지 문제가 있습니다. 하나 는 숫자를 반환 하기 때문 [ $? = 0 ]
이어야 하지만 문자열 (텍스트)에 대한 비교입니다. 둘째, 사용 또는 사용 . 이 옵션에 대한 자세한 내용은[ $? -eq 0 ]
$?
=
[ $word = "u" ] || [ $word = "U" ]
[ $word = "u" -o $word = "U" ]
man test
그러나 더 간단한 해결책을 제안합니다 . udisksctl
대신 media
. 더 간단하고 자동으로 많은 작업을 수행합니다. 사실 이것은 Ubuntu의 기본 파일 관리자 인 Nautilus의 백엔드입니다.
예를 들어, 내가 마운트하고 싶다면 /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.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다