ご利用には中...例えば、文字列/myfilesystem
を含むすべてのマウントポイントを返します。両方とも:
/myfilesystem
/home/james/myfilesystem
以下のような、より規範的なものを使用することを好む:
mountpoint -q "${MOUNTPOINT}"
パスがディレクトリである場合は、テストする[
を使用することができます。
if [ ! -d "${MOUNTPOINT}" ]; then
if [ -e "${MOUNTPOINT}" ]; then
echo "Mountpoint exists, but isn't a directory..."
else
echo "Mountpoint doesn't exist..."
fi
fi
mkdir -p
は、必要に応じて、すべての親ディレクトリを作成します。ディレクトリはbashのの変数展開を利用することにより、空の場合
mkdir -p "${MOUNTPOINT}"
は最後に、テストは:
[ "$(echo ${MOUNTPOINT}/*)" != "${MOUNTPOINT}/*" ]
また良いことですあるレベルの '安全性'を備えたスクリプトを実行するアイデア。 https://linux.die.net/man/1/bash
-e Exit immediately if a pipeline (which may consist of a single simple command), a
list, or a compound command (see SHELL GRAMMAR above), exits with a non-zero
status.
-u Treat unset variables and parameters other than the special parameters "@" and "*"
as an error when performing parameter expansion.
いっぱいで:set
ビルトインコマンドを参照してください(注意bash -eu
)
#!/bin/bash -eu
MOUNTPOINT="/myfilesystem"
if [ ! -d "${MOUNTPOINT}" ]; then
if [ -e "${MOUNTPOINT}" ]; then
echo "Mountpoint exists, but isn't a directory..."
exit 1
fi
mkdir -p "${MOUNTPOINT}"
fi
if [ "$(echo ${MOUNTPOINT}/*)" != "${MOUNTPOINT}/*" ]; then
echo "Mountpoint is not empty!"
exit 1
fi
if mountpoint -q "${MOUNTPOINT}"; then
echo "Already mounted..."
exit 0
fi
mount "${MOUNTPOINT}"
RET=$?
if [ ${RET} -ne 0 ]; then
echo "Mount failed... ${RET}"
exit 1
fi
echo "Mounted successfully!"
exit 0